C# Include()方法需要很长时间才能执行
我用的是EF6.0,写了一个这样的方法C# Include()方法需要很长时间才能执行,c#,entity-framework,iqueryable,C#,Entity Framework,Iqueryable,我用的是EF6.0,写了一个这样的方法 public IQueryable<TEntity> AllIncluding(params Expression<Func<TEntity, object>>[] includeProperties) { IQueryable<TEntity> query = GetQuery(); foreach (var includeProperty i
public IQueryable<TEntity> AllIncluding(params Expression<Func<TEntity, object>>[] includeProperties)
{
IQueryable<TEntity> query = GetQuery();
foreach (var includeProperty in includeProperties)
{
query = query.Include(includeProperty).AsNoTracking();
}
return query;
}
通常这种代码应该在瞬间运行。您只是在构建一个表达式树,它不应该执行任何查询。您确定在循环过程中没有发出任何查询吗?
public IQueryable<TEntity> GetQuery<TEntity>() where TEntity:class
{
return this.DbContext.Set<TEntity>();
}