C# IQueryable包括没有给出正确的结果
我有一个通用存储库实现,它创建IQueryable,如下所示:C# IQueryable包括没有给出正确的结果,c#,entity-framework,iqueryable,C#,Entity Framework,Iqueryable,我有一个通用存储库实现,它创建IQueryable,如下所示: internal IEnumerable<T> Get(Expression<Func<T, bool>> filter = null, Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null,
internal IEnumerable<T> Get(Expression<Func<T, bool>> filter = null,
Func<IQueryable<T>, IOrderedQueryable<T>> orderBy = null,
List<Expression<Func<T, object>>> includeProperties = null,
int? page = null,
int? pageSize = null)
{
IQueryable<T> query = m_dbSet;
if (filter != null)
query = query.Where(filter);
if (orderBy != null)
query = orderBy(query);
if (page != null && pageSize != null)
query = query.Skip((page.Value - 1) * pageSize.Value)
.Take(pageSize.Value);
if (includeProperties != null)
includeProperties.Aggregate(query, (current, include) => current.Include(include));
return query.ToList();
}
在存储库对象的POCO类中
我已经读到IQueryable将Include放在Select或Projection上,但我相信我在这里不会这样做。有人知道这里发生了什么吗?您应该将聚合结果分配给
查询,我认为:
query = includeProperties.Aggregate(query, ...);
query = includeProperties.Aggregate(query, ...);