さて、このページによると、Entity Frameworkは、メソッドSelect
内を使用して複数のレベルを熱心にロードする必要があります。Include
私は次のコードを持っています:
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
は2番目のインクルードの呼び出しで-「無効なタイプの式」をスローします。例外はから来ていEntityFrameworkHelper.CollectRelationalMemebers
ます。
また、関連するプロパティに文字列を使用しようとしInclude
ましたが、それも失敗しました(可能な限り文字列の使用は避けたいと思います)。
EF 5.0 DLL for.NET4.0を使用しています。私のEFクラスは、昔ながらEntityObject
のデータベースファーストです。
誰かが原因を知っていますか、そしてこの例外について私ができることがあれば?
編集:
文字列バージョンを使用する場合:
var reports = _context.Reports
.Include("Fields")
.Include("Fields.FieldType")
.Include("Fields.FieldType.FieldIdentifier"));
スローInvalidOperationException
します-無効なタイプの式。