【发布时间】:2017-04-26 02:49:28
【问题描述】:
我有一个表达式,例如x=>x.Id;
我有一个函数,我需要在其中组合两个表达式。我用的是 Linqkit。
我的模特:
public class Model{
Expression<Func<Entity,bool>> Expr {get;set;}
}
public Model Combine(Model input)
{
var exp = x => input.Expr.Invoke(x) && x.Name.Contains("A");
input.Expr = exp;
input.Expr.Compile();
return input;
}
比我想在我的存储库中传递它,我需要对我的实体进行排序。
public Ienumerable<Entity> Get(Model model)
{
var entity = _context.Entity.Where(model.Expr).ToList(); // there A cycle was detected in a LINQ expression exception
}
【问题讨论】:
-
你应该使用 Linqkit 的
PredicateBuilder来做这个。现在您与Funcs 合作。
标签: c# asp.net-mvc linq linqkit