2016-12-12 2 views
0

에 Szenario을 DynamicEntity를 추가 할 수 없습니다 : 나는 두 엔티티-필드가있는 패키지 contentype을 보유하고 있습니다. 엔티티 필드 중 하나가 채워지 고, 하나는 비어 있습니다. 데이터가 있습니다 (DynamicEntity가 result1이라고 함). 빈 엔티티 필드의 경우, (DynamicEntity result2라는 이름으로) 메소드에서 기본값을 얻었습니다. 이제 빈 속성에 result1에 result2를 추가하고 싶습니다. add-method는 오류는 발생시키지 않지만 속성은 null로 유지됩니다 ...는</p> <p>에게 ... 나는 특별한 문제가 일반 목록

예 : contenttype의 이름은 Header입니다.

필드 : Titel (문자열), 글꼴 (entityfield은), 컬러 (entityfield)

데이터 : "제목", contentType의 글꼴, 아무것도 선택에서 하나 개의 항목을 선정.

result1에 데이터를 가져옵니다. 결과 1 타입 ToSic.SexyContent.DynamicEntity 내지

result1.Font는 System.Collections.GenericList`1는 [ToSic.SexyContent.DynamicEntity] 난 result1.Font [0] .NAME 액세스 할 수 유형 및 값을 가지고

result1.Color는

result2가 입력 ToSic.SexyContent.DynamicEntity 내지 (result1.Color.Count 0 줘) System.Collections.GenericList`1 [ToSic.SexyContent.DynamicEntity] 및 null 값 유형

이제 result2를 result1.Color.Add (result2)와 함께 추가하려고합니다. 결과 1. 오류는 없지만 아무 일도 일어나지 않습니다. result1.Color [0] .name에 액세스하려고하면 System.ArgumentOutOfRangeException 오류가 발생합니다 ...

모든 힌트가 있습니까?

+0

이것은 혼란 스럽습니다. 이 작업을 수행하려는 위치에 대한 자세한 정보를 제공해주십시오. 그것은 면도기 - 템플릿, 웹 API에 있습니까? 출력을 위해 목록을 병합하려고합니까, 아니면 db의 데이터를 수정하려고합니까? – iJungleBoy

+0

그것은 면도기 템플릿에있어 출력을 위해 목록을 병합하려고합니다. 오직 정상적인 것들만 ... ;-) –

답변

0

두 엔티티 목록이 있고 나중에 병합하여 나중에 출력하고 싶다고 생각합니다.

올바르게 이해한다면 목록 중 하나는 Team.Members와 같은 기존 엔티티의 속성이며 다른 엔티티를 추가하려고했습니다. Team.Leaders를 Team.Members 컬렉션에 추가하려고했습니다. , 맞지?

엔터티 및 해당 데이터가 읽기 전용이기 때문에 실수로 엔터티 속성을 수정하고 향상시키는 것이 좋습니다.

당신이해야 할 일은 이러한 엔티티들의 새로운 목록/콜렉션을 생성하고 그것을 반복하는 것입니다. 이 작업을 수동으로 List<DynamicEntity> xyz = new List<DynamicEntity>();과 같이 수행 할 수 있으며 LINQ를 사용하여 동일한 작업을 수행 할 수도 있습니다.

+0

아, 난 읽기 전용을 보지 못했습니다 ... 나는 ExpandEObject로 내 문제를 해결했습니다. 두 DynamicEntity에서 값을 가져옵니다. 고맙습니다! –

+0

완벽 - 다음과 같이 가장 좋은 답변 : – iJungleBoy