1
EF 6と、私はこのように質問していて、うまくいきました。EFコア複数レベルの問題を含む
IQueryable<Student> query = _testHelper.buildQuerty(id, userId)
.Include(x => x.Class)
.Include(x => x.Subjects)
.Include(x => x.Subjects.Select(y => y.Category));
問題: 同じことがEFコア2.0では動作しません。
エラー
System.ArgumentExceptionのはHRESULT = 0x80070057がメッセージ= プロパティ式生じ '被験者=> {被験者の被験者yから [Y] .Category選択}' は有効ではありません。式は、 't => t.MyProperty'というアクセス のアクセスを表す必要があります。 関連データの追加の詳細については、http://go.microsoft.com/fwlink/?LinkID=746393を参照してください。
このようにリファクタリングされていますが、まだ動作しておらず、同じエラーが表示されます。
List<Student> query = _testHelper.buildQuerty(id, userId)
.Include(x => x.Class)
.Include(x => x.Subjects)
.ThenInclude(Subjects => Subjects.Select(y => y.Category)).tolist();
問題はどこですか?
私はこの方法を知っていましたが、テストするのは怠惰でした。あなたは奇妙なことを知っていますカテゴリは、件名の後にドットを書くときには表示されず、すべてのコレクションに関連するすべてのものが表示されます..なぜ、私は他の方法で働いていませんでした。とにかく感謝します。 – simbada
@simbada私は、 'ThenInclude'を実行している間も、Visual Studio上でそのバギーintellisenseの動作を実験しました。 –
両方のオーバーロードが式であり、Intellisenseがどちらを選択するかわからず、エンティティ上でコレクション(以前に選択されたナビゲーションプロパティ)を常に選択するためです – Tseng