好的,所以根據this page,實體框架應該通過在Include
方法中使用Select
來加載多個級別。實體框架急切加載多級異常
我有以下代碼:
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
s。
有誰知道原因,如果有什麼我可以做這個異常?
編輯:
當使用字符串版本:
var reports = _context.Reports
.Include("Fields")
.Include("Fields.FieldType")
.Include("Fields.FieldType.FieldIdentifier"));
它拋出InvalidOperationException
- 無效類型的表達式。
當您使用基於字符串的Include版本時,確切的異常信息是什麼? – Slauma 2013-02-20 20:00:40
見上面的答案。 – MgSam 2013-02-20 20:20:18
我的意思是基於**字符串的** Include版本的例外情況。 – Slauma 2013-02-20 20:39:04