【发布时间】:2016-12-15 19:01:36
【问题描述】:
我正在测试 predicateBuilder 并收到此错误
LINQ to Entities 不支持 LINQ 表达式节点类型“Invoke”。 这是我的代码
public partial class Product
{
public static Expression<Func<UserAddress, bool>> IsSelling()
{
return p => p.ispeacc == true;
}
}
public partial class Product
{
public static Expression<Func<UserAddress, bool>> ContainsInDescription()
{
var predicate = PredicateBuilder.New<UserAddress>();
predicate = predicate.Or(p => p.accNumber == "i****");
return predicate;
}
}
public class Accounts
{
public UserAddress GetAccount()
{
var repositoryUAdd = new Repository<UserAddress>();
var ispor = Product.IsSelling();
var acc = Product.ContainsInDescription();
UserAddress accInforesult = repositoryUAdd.GetEntitybybool(ispor.And(acc));
return accInforesult;
}
}
public T GetEntitybybool(
Expression<Func<T, bool>> filter)
{
return DbSet.Where(filter).DefaultIfEmpty(null).FirstOrDefault();
}
知道我做错了什么
【问题讨论】:
-
此行之后是否出现错误:
return DbSet.Where(filter).DefaultIfEmpty(null).FirstOrDefault(); ?
标签: c# entity-framework linq asp.net-mvc-5