public void Build(Expression expression) { var evaluator = new PartialEvaluator(); var evaluatedExpression = evaluator.Eval(expression); _mArguments = new List<object>(); _mConditionParts = new Stack<string>(); Visit(evaluatedExpression); Arguments = _mArguments.ToArray(); Condition = _mConditionParts.Count > 0 ? _mConditionParts.Pop() : null; // Convert Arguments from List<object> to List<SqlParameter> if (_mArguments.Count > 0) { SqlArguments = new List<SqlParameter>(); for (var i = 0; i < _mArguments.Count; i++) { SqlArguments.Add(new SqlParameter("@para" + i, _mArguments[i])); } } }
public void Build(Expression expression) { var evaluator = new PartialEvaluator(); var evaluatedExpression = evaluator.Eval(expression); _mArguments = new List <object>(); _mConditionParts = new Stack <string>(); Visit(evaluatedExpression); Arguments = _mArguments.ToArray(); Condition = _mConditionParts.Count > 0 ? _mConditionParts.Pop() : null; // Convert Arguments from List<object> to List<SqlParameter> if (_mArguments.Count > 0) { SqlArguments = new List <SqlParameter>(); for (var i = 0; i < _mArguments.Count; i++) { SqlArguments.Add(new SqlParameter("@para" + i, _mArguments[i])); } } }