C# .包含表达式不一致性EntityFramework

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>>[]

我创建了以下自定义方法,用于在EF上下文中查找实体。它可以接受include表达式,这些表达式的工作方式似乎非常不一致。例如,指定一个包含、创建一个查询然后在该查询上创建一个列表(有时)将不包括列表中的实体

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
的综合示例。