public static Criterion From <T>(Expression <Func <T, bool> > criterion) where T : IEntity { if (criterion == null) { throw new ArgumentNullException(nameof(criterion)); } var methodCallExpression = criterion.Body as MethodCallExpression; if (methodCallExpression != null) { return(From(methodCallExpression)); } var binaryExpression = criterion.Body as BinaryExpression; if (binaryExpression != null) { return(From(binaryExpression)); } return(ExpressionRunner <T> .CreateCriterion(criterion.Body)); }
static Criterion CreateByExpression <T>(Expression expression) where T : IEntity { return(ExpressionRunner <T> .CreateCriterion(expression)); }