Entity framework 实体表达式错误
我为where in查询表达式找到了这个函数,我想使用它,但是有一些错误,我不知道为什么,因为我在许多论坛上看到了这个函数,它应该可以工作Entity framework 实体表达式错误,entity-framework,linq-to-entities,Entity Framework,Linq To Entities,我为where in查询表达式找到了这个函数,我想使用它,但是有一些错误,我不知道为什么,因为我在许多论坛上看到了这个函数,它应该可以工作 static Expression<Func<TElement, bool>> BuildContainsExpression<TElement, TValue>( Expression<Func<TElement, TValue>> valueSelector, IEnumerable<T
static Expression<Func<TElement, bool>> BuildContainsExpression<TElement, TValue>(
Expression<Func<TElement, TValue>> valueSelector, IEnumerable<TValue> values)
{
if (null == valueSelector) { throw new ArgumentNullException("valueSelector"); }
if (null == values) { throw new ArgumentNullException("values"); }
ParameterExpression p = valueSelector.Parameters.Single();
// p => valueSelector(p) == values[0] || valueSelector(p) == ...
if (!values.Any())
{
return e => false;
}
var equals = values.Select(value => (Expression)Expression.Equal(valueSelector.Body, Expression.Constant(value, typeof(TValue))));
var body = equals.Aggregate<Expression>((accumulate, equal) => Expression.Or(accumulate, equal));
return Expression.Lambda<Func<TElement, bool>>(body, p);
}
错误是:
'System.Collections.ObjectModel.ReadOnlyCollection'
不包含的定义
“单一”且无扩展方法
“单一”接受的第一个参数为
类型
'System.Collections.ObjectModel.ReadOnlyCollection'
可以找到你是不是少了一个
使用指令或程序集
推荐人
'System.Collections.Generic.IEnumerable'
不包含的定义
“Any”和无扩展方法“Any”
接受类型为的第一个参数
'System.Collections.Generic.IEnumerable'
可以找到你是不是少了一个
使用指令或程序集
推荐人
有人能帮我吗?
提前感谢。您可能需要添加:
using System.Linq;
您可能需要添加:
using System.Linq;
是否确实已安装.NET Framework 3.5 Service Pack 1?是否确实已安装.NET Framework 3.5 Service Pack 1?