using System.Collections.Generic;
using System.Linq.Expressions;
using System.Linq.Dynamic.Core;
using System.Linq.Dynamic.Core.Parser;
public static void Main()
ParameterExpression visionRequest = Expression.Parameter(typeof(VisionRequest), "visionRequest");
var symbols = new[] { visionRequest };
Expression body = new ExpressionParser(symbols, "visionRequest.VisionResults.Any(vr => vr.Class==\"bulls\")", symbols, new ParsingConfig()).Parse(typeof(bool));
LambdaExpression e = Expression.Lambda(body, new ParameterExpression[] { visionRequest });
var v = new VisionRequest(){VisionResults = new List<VisionResult>(){new VisionResult(){Class="bulls"}}};
var result = c.DynamicInvoke(v);
Console.WriteLine(result);
public class VisionRequest {
public bool IsGoody {get; set;}
public List<VisionResult> VisionResults { get; set; }
VisionResults = new List<VisionResult>();
public class VisionResult {
public string Class {get; set;}