好的,所以根据这个页面Select
,实体框架应该通过在Include
方法中使用 a 来急切地加载多个级别。
我有以下代码:
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 类是老式的 database-first EntityObject
。
有谁知道原因,如果我能对这个异常做些什么?
编辑:
使用字符串版本时:
var reports = _context.Reports
.Include("Fields")
.Include("Fields.FieldType")
.Include("Fields.FieldType.FieldIdentifier"));
它抛出InvalidOperationException
- 表达式类型无效。