【发布时间】:2011-04-16 17:33:51
【问题描述】:
鉴于以下
Expression<Func<T,bool>> matchExpression;
如何创建另一个与现有表达式“不”的表达式。
我试过了
Expression<Func<T, bool>> func3 = (i) => !matchExpression.Invoke(i);
但是实体框架不支持这个...
问候
【问题讨论】:
标签: c# .net entity-framework lambda
鉴于以下
Expression<Func<T,bool>> matchExpression;
如何创建另一个与现有表达式“不”的表达式。
我试过了
Expression<Func<T, bool>> func3 = (i) => !matchExpression.Invoke(i);
但是实体框架不支持这个...
问候
【问题讨论】:
标签: c# .net entity-framework lambda
你必须重新创建一个新的 lambda,并否定原来的主体:
Expression<Func<T, bool>> not = Expression.Lambda<Func<T, bool>> (
Expression.Not (matchExpression.Body),
matchExpression.Parameters [0]);
【讨论】: