複数のインクルードを連鎖することは、System.InvalidOperationExceptionをスローします。

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; }
}

私のコンテキストを使用して、私はすべてのフィールドを取得し、次のコマンドを使用して、ラベルとプレースホルダをグローバリゼーションと言語(全体)とともに含めようとしています。

var field = context.Fields
   .Include(x => x.Label.Globalizations)
   .ThenInclude(x => x.Language)
   .Include(x => x.Placeholder.Globalizations)
   .ThenInclude(x => x.Language)
   .ToList();

次の例外がスローされます。

System.InvalidOperationExceptionデータが存在しないときに、読み込みに失敗しました。

しかし、最初のinclude / thenincludeだけを使用して、私は期待される結果を得ます。

何がありますか?これは既知のバグですか、あるいはInclude / ThenInclude構文を誤解しましたか?

これはVS2015 RCでef7 beta4を使用しています

受け入れられた回答

これはEF 7のバグです。aspnet / EntityFramework#2474で修正する必要があります。これはベータ6までパブリックEFビルドには含まれません。もちろん、 夜間ビルド



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ