さて、このページによると、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します-無効なタイプの式。