【发布时间】:2012-12-07 07:22:52
【问题描述】:
我有一个 linq 查询:
var query = from ct in ClaimTypes
join c in Claims.OrderBy(x => x.ClaimValue)
.Include("SubClaims") on ct.ClaimTypeId equals c.ClaimTypeId into t
select new { ct.ClaimTypeName, t };
结果是一个声明字典,键是声明类型,值是该声明类型下的声明列表。在声明中,有一列称为子声明。但是,由于服务器问题,我们关闭了延迟加载,现在 subclaims 列不会填充。在 JOIN 中使用 INCLUDE 不会填充列。任何人都可以提出任何其他解决方案吗?
【问题讨论】:
-
你能从存储库/dbml/whatever 加入 SubClaims 吗?
-
尝试把include放在orderby之前
-
我尝试将包含放在 orderby 之前,结果相同。列仍然没有填充。
-
没有连接,这个查询有效: var query = from c in Claims.Include("Subclaims").OrderBy(x => x.ClaimValue) select c;
-
我也知道,除非您添加 ObjectQuery
,否则 INCLUDE 不能与联接一起使用,但是,我不能转换“t”,它会给我一个错误
标签: c# linq entity-framework lazy-loading lazy-evaluation