我收到此编译错误
'TEntiy'类型必须是引用类型才能在泛型类型或方法'DbSet'中使用参数'TEntity'。
在此方法中使用时:
private IQueryable<TEntity> Search<Expression<Func<TEntity, bool>> predicate, params Expression<Func<TEntity, object>>[] include)
{
var dbSet = dataContext.Set<TEntity>();
var set = include.Aggregate<Expression<Func<TEntity, object>>, IQueryable<TEntity>>
(dbSet, (current, expression) => current.Include(expression));
return set.Where(predicate);
}
有没有办法解决这个问题?
答案 0 :(得分:1)
DbSet<TEntity>类型要求其type参数为引用类型。您可以通过添加泛型类型约束来确保这种情况:
private IQueryable<TEntity> Search<TEntity>(...) where TEntity : class
{
...
}