1

我有一个 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 不会填充列。任何人都可以提出任何其他解决方案吗?

4

1 回答 1

1

您没有在结果集中返回 t.SubClaims。包含应用于子查询,而不是最终选择。运行 SQL 探查器以确认最终选择集不包括 SubClaims 字段。

尝试:

select new { ct.ClaimTypeName, t, t.SubClaims };

或者:

var query = /* you're query */;
query = query.Include(a => a.t.SubClaims);
于 2012-12-19T21:19:47.563 回答