【发布时间】:2016-09-08 10:44:11
【问题描述】:
我有一些类似的 linq 查询
Expression<Func<sometable, bool>> whereClauseDynamic= t => true;
if (#somecondition)
whereClauseDynamic= t => t.ID == #somevalue;
var temp= (from tax in db.sometable
join x in db.y on #someid
where trans.Finished >= start
where trans.Finished <= end
where whereClauseDynamic
.................
如果我使用实体框架类型语法,这很好用
(from t in db.sometable
.Where(t => t.Finished >= start)
.Where(whereClauseLocation)
.................
但在第一种情况下会引发编译错误
错误 CS0029 无法将类型“System.Linq.Expressions.Expression>”隐式转换为“bool”
错误 CS1662 无法将查询表达式转换为预期的委托类型,因为块中的某些返回类型不能隐式转换为委托返回类型
我错过了什么?
【问题讨论】:
标签: c# entity-framework linq