C# 列不填充已关闭的延迟加载

C# 列不填充已关闭的延迟加载,c#,linq,entity-framework,lazy-loading,lazy-evaluation,C#,Linq,Entity Framework,Lazy Loading,Lazy Evaluation,我有一个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 };

我有一个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 };

结果是一个索赔字典,其键为索赔类型,值为该索赔类型下的索赔列表。在权利要求书中,有一列称为Subcaims。但是,由于服务器问题,我们关闭了延迟加载,现在子类IMS列没有填充。在联接中使用包含不会填充列。有人能推荐其他解决方案吗?

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

尝试:

或:


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

尝试:

或:


你能从repository/dbml/which中加入子类吗?试着把include放在orderby之前我试着把include放在orderby之前同样的结果。列仍然未填充。如果没有联接,此查询将起作用:var query=来自Claims.IncludeSubclaims.OrderByx=>x.ClaimValue选择c;我还知道,除非添加ObjectQuery,否则INCLUDE不能与联接一起工作,但是,我不能强制转换它。给我一个错误。你可以从存储库/dbml/任何地方加入子类吗?尝试将INCLUDE放在orderby之前。我尝试将INCLUDE放在orderby之前。相同的结果。列仍然未填充。如果没有联接,此查询将起作用:var query=来自Claims.IncludeSubclaims.OrderByx=>x.ClaimValue选择c;我还知道,除非添加ObjectQuery,否则INCLUDE不能与联接一起工作,但是,我不能强制转换t。它给我一个错误,给我这个错误:无法将lambda表达式转换为类型“string”,因为它不是委托类型a=>a.t。子类是正确的语法,但是,在t之后,intellisense中没有字段作为选项。这给了我以下错误:无法将lambda表达式转换为类型“string”,因为它不是委托类型a=>a.t.Subcaims是正确的语法。但是,在t之后,intellisense中没有字段作为选项。
select new { ct.ClaimTypeName, t, t.SubClaims };
var query = /* you're query */;
query = query.Include(a => a.t.SubClaims);