Linq 表达式到泛型 - 如何
本文关键字:如何 泛型 表达式 Linq | 更新日期: 2023-09-27 18:36:12
我想将其转换为泛型类型:
using System.Linq.Expression
using System.Collections.Generic
public IQueryable<T> AllIncluding(
params Expression<Func<T, object>>[] includeProperties)
{
IQueryable<T> query = All;
foreach (var includeProperty in includeProperties)
{
// query = query.Include(includeProperty);
}
return query;
}
但它似乎不起作用,我该怎么做?
Include
方法仅在DbQuery<T>
上可用,因此您必须使用直接强制转换或as
操作数或使用方法 DbExtensions 强制转换为查询。
public IQueryable<T> AllIncluding(
params Expression<Func<T, object>>[] includeProperties)
{
IQueryable<T> query = All as DbQuery<T>;
if (query == null)
{
return All;
}
foreach (var includeProperty in includeProperties)
{
// query = query.Include(includeProperty);
}
return query;
}
添加一个用于System.Data.Entity
;
实体框架 4.1 包括 Include
的强类型版本:http://msdn.microsoft.com/en-us/library/gg671236(VS.103).aspx
这是一种扩展方法。