【发布时间】:2017-03-11 06:04:27
【问题描述】:
我正在重构我的旧代码并遇到了一些语法问题:
public IQueryable<T> Get_all(Expression<Func<T, bool>> predicate = null, bool enableDetectChanges = true, bool enableTracking = true) {
ActiveDbContext.Configuration.AutoDetectChangesEnabled = enableDetectChanges;
//return all if predicate is null
Expression<Func<T, bool>> whereAll = x => true;
predicate = predicate ?? whereAll;
var result = enableTracking ? _dbSet.Where(predicate) : _dbSet.AsNoTracking().Where(predicate);
return result;
}
问:有没有可能像 predicate = predicate ?? Expression<Func<T, bool>> whereAll = x => true; 这样的语法而不是 2 行?
谢谢
【问题讨论】:
-
predicate ?? (x => true) -
我使用表达式树,我需要返回表达式树,而不是 lambda (linq to sql)
-
哦;)对不起,它的工作!伟大的!谢谢:)
标签: c# asp.net entity-framework lambda expression