void WriteInsertStatement(IInsertStatement stmt) { var insertedRows = stmt.EvaluateInMemory(this, out var identity); if (insertedRows > 0) { affectedRows += insertedRows; LastIdentity = identity; } }
public static IInsertStatement <TEntity> ReceivedWith <TEntity, TMember>( this IInsertStatement <TEntity> command, string property, TMember value) where TEntity : class, new() { return(command.Received() .With(Arg.Is <Expression <Func <TEntity, TMember> > >(e => e.HasMemberName(property)), value)); }
private void WriteInsert(IInsertStatement statement) { Write("INSERT "); WriteTop(statement.TopExpression); using (Indent(8)) statement.Target.Accept(this); WriteColumnSpecification(statement.ColumnSpecification); WriteLine(); }
public static IInsertStatement Set(this IInsertStatement insert, IColumnExpression column, IValueExpression value) { var cols = insert.Columns.ToList(); var vals = insert.Values.ToList(); cols.Add(column); vals.Add(value); insert.Columns = cols.ToArray(); insert.Values = vals.ToArray(); return(insert); }
public static IInsertStatement ValuesFillNull(this IInsertStatement insert) { if (insert.Columns == null) { return(insert); } var vals = insert.Columns.Select(col => new LiteralValueExpression(null) as IValueExpression).ToArray(); if (insert.Values != null) { for (var i = 0; i < vals.Length && i < insert.Values.Length; i++) { if (insert.Values[i] != null) { vals[i] = insert.Values[i]; } } } insert.Values = vals.ToArray(); return(insert); }
public static IInsertStatement Values(this IInsertStatement insert, IEnumerable <IValueExpression> values) { if (insert.Columns == null) { return(insert); } else if (insert.Values == null) { insert.Values = values.Count() > insert.Columns.Length ? values.Take(insert.Columns.Length).ToArray() : values.Concat(new IValueExpression[insert.Columns.Length - values.Count()]).ToArray(); } else { var vals = insert.Values.ToList(); var cols = insert.Columns.ToList(); if (vals.Count > cols.Count) { vals.RemoveRange(cols.Count, vals.Count - cols.Count); } else if (vals.Count < cols.Count) { vals.AddRange(new IValueExpression[cols.Count - vals.Count]); } for (int i = 0, j = 0; i < cols.Count && j < values.Count(); i++) { // 避免覆盖 if (vals[i] == null) { vals[i] = values.ElementAt(j++); } } insert.Values = vals.ToArray(); } return(insert); }
public static IInsertStatement Cols(this IInsertStatement insert, IEnumerable <IColumnExpression> columns) { return(Columns(insert, columns)); }
public static IInsertStatement Into(this IInsertStatement insert, TableExpression table) { insert.Table = table; return(insert); }
public static IInsertStatement SetVarCustomer(this IInsertStatement insert, ColumnExpression column, string customer) { return(SetVarCustomer(insert, column as IColumnExpression, customer)); }
public static IInsertStatement SetVarParam(this IInsertStatement insert, ColumnExpression column, string param = null) { return(SetVarParam(insert, column as IColumnExpression, param)); }
public static IInsertStatement Set(this IInsertStatement insert, ColumnExpression column, object value) { return(Set(insert, column as IColumnExpression, value)); }
public static IInsertStatement ValuesP(this IInsertStatement insert) { return(ValuesVarParam(insert)); }
public static IInsertStatement Vals(this IInsertStatement insert, IEnumerable <IValueExpression> values) { return(Values(insert, values)); }
public static IInsertStatement ValuesC(this IInsertStatement insert, IEnumerable <string> values) { return(ValuesVarCustomer(insert, values)); }
public static IInsertStatement Columns(this IInsertStatement insert, params ColumnExpression[] columns) { insert.Columns = columns.ToArray(); return(insert); }
public static IInsertStatement ValuesVarCustomer(this IInsertStatement insert, params string[] values) { return(Values(insert, values.Select(v => new CustomerExpression(v)))); }
public static IInsertStatement ValuesVarCustomer(this IInsertStatement insert, IEnumerable <string> values) { return(Values(insert, values.Select(v => new CustomerExpression(v)))); }
public static IInsertStatement Values(this IInsertStatement insert, params object[] values) { var setableValues = values.Select(val => val is IValueExpression ? val as IValueExpression : new LiteralValueExpression(val)); return(Values(insert, setableValues)); }
public static IInsertStatement ValuesNull(this IInsertStatement insert) { return(ValuesFillNull(insert)); }
public static IInsertStatement Cols(this IInsertStatement insert, params IColumnExpression[] columns) { return(Columns(insert, columns)); }
public static IInsertStatement Set(this IInsertStatement insert, IColumnExpression column, object value) { return(Set(insert, column, value is IValueExpression ? value as IValueExpression : new LiteralValueExpression(value))); }
public static IInsertStatement Vals(this IInsertStatement insert, params object[] values) { return(Values(insert, values)); }
public static IInsertStatement SetVarCustomer(this IInsertStatement insert, IColumnExpression column, string customer) { return(Set(insert, column, new CustomerExpression(customer))); }
public static IInsertStatement Columns(this IInsertStatement insert, IEnumerable <IColumnExpression> columns) { insert.Columns = columns.ToArray(); return(insert); }
public static IInsertStatement ValuesC(this IInsertStatement insert, params string[] values) { return(ValuesVarCustomer(insert, values)); }