여러 번 포함 시키면 thenInclude가 System.InvalidOperationException을 throw합니다.

entity-framework-core

문제

다음과 같은 단순화 된 모델을 고려하십시오.

public class Field 
{
   public string Name { get; set; }
   public MultilingualString Label { get; set; }
   public MultilingualString Placeholder { get; set; }
}

public class MultilingualString 
{
   public string DefaultText { get; set; }
   public IList<Globalization> Globalizations { get; set; }
}

public class Globalization 
{
   public string Text { get; set; }
   public Language Language { get; set; }
}

public class Language
{
   public string Name { get; set; }
   public string CultureString { get; set; }
}

내 컨텍스트를 사용하여 다음 명령을 사용하여 모든 필드를 가져 와서 해당 레이블 및 자리 표시자를 세계화 및 언어 (전체)와 함께 포함하려고합니다.

public class Field 
{
   public string Name { get; set; }
   public MultilingualString Label { get; set; }
   public MultilingualString Placeholder { get; set; }
}

public class MultilingualString 
{
   public string DefaultText { get; set; }
   public IList<Globalization> Globalizations { get; set; }
}

public class Globalization 
{
   public string Text { get; set; }
   public Language Language { get; set; }
}

public class Language
{
   public string Name { get; set; }
   public string CultureString { get; set; }
}

다음과 같은 예외가 throw됩니다.

System.InvalidOperationException 데이터가없는 경우 읽기 시도가 잘못되었습니다.

그러나 첫 번째 include / theninclude 만 사용하면 예상 된 결과를 얻을 수 있습니다.

뭐라 구요? 이 버그는 알려진 버그입니까, 아니면 Include / ThenInclude 구문을 오해 했습니까?

VS2015 RC와 함께 ef7 베타 4를 사용하고 있습니다.

수락 된 답변

이것은 EF 7의 버그입니다. aspnet / EntityFramework # 2474 로 수정해야합니다. 베타 6까지 공용 EF 빌드에 포함되지 않습니다. 물론 야간 빌드를 시도해 볼 수도 있습니다




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.