C# .包含表达式不一致性EntityFramework
我创建了以下自定义方法,用于在EF上下文中查找实体。它可以接受include表达式,这些表达式的工作方式似乎非常不一致。例如,指定一个包含、创建一个查询然后在该查询上创建一个列表(有时)将不包括列表中的实体C# .包含表达式不一致性EntityFramework,c#,.net,entity-framework-6,C#,.net,Entity Framework 6,我创建了以下自定义方法,用于在EF上下文中查找实体。它可以接受include表达式,这些表达式的工作方式似乎非常不一致。例如,指定一个包含、创建一个查询然后在该查询上创建一个列表(有时)将不包括列表中的实体 public static IQueryable<T> Find<T>(Expression<Func<T, bool>> expression, params Expression<Func<T, object>>[]
public static IQueryable<T> Find<T>(Expression<Func<T, bool>> expression, params Expression<Func<T, object>>[] includeExpressions) where T : class
{
var query = Current.Set<T>().Where(expression);
foreach (var include in includeExpressions)
{
query = query.Include(include);
}
return query;
}
公共静态IQueryable查找(表达式表达式,参数表达式[]includeExpressions),其中T:class
{
var query=Current.Set().Where(表达式);
foreach(包含在includeExpressions中的变量)
{
query=query.Include(包含);
}
返回查询;
}
关于为什么会发生这种情况,有什么建议吗?只是出于兴趣:这是一个简短的版本吗?或者这种方法的好处是什么?包含不起作用的原因可能有很多。请给出一个非工作的
Include
的综合示例。