J'ai une expression, par exemple x=>x.Id
;Un cycle a été détecté dans une expression LINQ Linqkit
Et j'ai une fonction, où j'ai besoin de combiner deux expressions. J'utilise Linqkit.
Mon modèle:
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;
}
Que je veux passer dans mon dépôt, où je dois trier mon entité.
public Ienumerable<Entity> Get(Model model)
{
var entity = _context.Entity.Where(model.Expr).ToList(); // there A cycle was detected in a LINQ expression exception
}
Vous devriez utiliser 'PredicateBuilder' de Linqkit pour cela. Maintenant, vous travaillez avec 'Func's. –