我正在尝试创建一个表达式树,它将通过我的名为 test 的表查看 Foo 列中的所有字符串“电子邮件”。我几乎从 msdn 复制了一些小改动,但无法让它在我的表中搜索。让这个表达式树搜索的任何帮助都会很棒。非常感谢您
称为测试的表结构
id int
foo char(10)
错误
类型“System.Linq.Queryable”上没有通用方法“Where”与提供的类型参数兼容
var s = new m2Entities().Test
var queryableData = new m2Entities().SaleLogs.AsQueryable<SaleLog>();
ParameterExpression pe = Expression.Parameter(typeof(string), "foo");
Expression left = Expression.Call(pe, typeof(string).GetMethod("ToLower", System.Type.EmptyTypes));
Expression right = Expression.Constant("bar");
Expression e1 = Expression.Equal(left, right);
MethodCallExpression whereCallExpression = Expression.Call(typeof(Queryable),
"Where",
new Type[] { queryableData.ElementType },
queryableData.Expression,
Expression.Lambda<Func<string, bool >>(e1,new ParameterExpression[] { pe }));
var results = queryableData.Provider.CreateQuery<string>(whereCallExpression);