this pageによれば、メソッド内でSelect
を使用することにより、エンティティフレームワークは複数のレベルを熱心に読み込む必要があります。エンティティフレームワークEager複数レベルの読み込み例外
私は、次のコードを持っている:
var reports = _context.Reports
.Include(rt => rt.Fields)
.Include(rt => rt.Fields.Select(f => f.FieldType))
.Include(rt => rt.Fields.Select(f => f.FieldType.FieldIdentifier));
しかし、これはInvalidOperationException
スロー - などが第二の呼び出しに「表現の無効なタイプを」。例外はEntityFrameworkHelper.CollectRelationalMemebers
から来ています。
私もInclude
関連のプロパティに文字列を使用してみましたが、それは(すべてで可能ならば、私はむしろ、文字列の使用を避けるだろう)にも失敗しました。
私は、.NET 4.0のEF 5.0 DLLを使用しています。私のEFクラスは古くからのデータベースで、最初はEntityObject
です。私はこの例外について何かできることがあるかどう
誰もが原因を知っているとしていますか?
EDIT:
文字列バージョンを使用して:
var reports = _context.Reports
.Include("Fields")
.Include("Fields.FieldType")
.Include("Fields.FieldType.FieldIdentifier"));
それはInvalidOperationException
スロー - 式の型が無効です。
正確な例外メッセージとは何ですか? – Slauma
上記の回答を参照してください。 – MgSam
私は**文字列**のベースバージョンの 'Include'の例外を意味しました。 – Slauma