public void Values(Dictionary <string, object> columns) { if (columns == null || columns.Count == 0) { throw new ArgumentNullException(nameof(columns)); } foreach (var kv in columns) { var paramName = _parameterManager.GenerateName(); _parameterManager.Add(paramName, kv.Value, Datas.Queries.Operator.Equal); _columns.Add(kv.Key, paramName); } }
/// <summary> /// 创建In条件 /// </summary> private ICondition CreateInCondition(string column, IEnumerable values) { if (values == null) { return(NullCondition.Instance); } var paramNames = new List <string>(); foreach (var value in values) { var name = _parameterManager.GenerateName(); paramNames.Add(name); _parameterManager.Add(name, value); } return(new InCondition(column, paramNames)); }
/// <summary> /// 获取列 /// </summary> private SqlItem GetColumn(Expression expression, bool right) { var type = _resolver.GetType(expression, right); var column = _resolver.GetColumn(expression, type, right); if (string.IsNullOrWhiteSpace(column)) { var name = _parameterManager.GenerateName(); _parameterManager.Add(name, Lambda.GetValue(expression)); return(new SqlItem(name, raw: true)); } return(new SqlItem(GetColumn(type, column))); }