Example #1
0
        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));
 }
Example #3
0
        private void WriteInsert(IInsertStatement statement)
        {
            Write("INSERT  ");
            WriteTop(statement.TopExpression);

            using (Indent(8))
                statement.Target.Accept(this);

            WriteColumnSpecification(statement.ColumnSpecification);
            WriteLine();
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
 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);
 }
Example #7
0
 public static IInsertStatement Cols(this IInsertStatement insert, IEnumerable <IColumnExpression> columns)
 {
     return(Columns(insert, columns));
 }
Example #8
0
 public static IInsertStatement Into(this IInsertStatement insert, TableExpression table)
 {
     insert.Table = table;
     return(insert);
 }
Example #9
0
 public static IInsertStatement SetVarCustomer(this IInsertStatement insert, ColumnExpression column, string customer)
 {
     return(SetVarCustomer(insert, column as IColumnExpression, customer));
 }
Example #10
0
 public static IInsertStatement SetVarParam(this IInsertStatement insert, ColumnExpression column, string param = null)
 {
     return(SetVarParam(insert, column as IColumnExpression, param));
 }
Example #11
0
 public static IInsertStatement Set(this IInsertStatement insert, ColumnExpression column, object value)
 {
     return(Set(insert, column as IColumnExpression, value));
 }
Example #12
0
 public static IInsertStatement ValuesP(this IInsertStatement insert)
 {
     return(ValuesVarParam(insert));
 }
Example #13
0
 public static IInsertStatement Vals(this IInsertStatement insert, IEnumerable <IValueExpression> values)
 {
     return(Values(insert, values));
 }
Example #14
0
 public static IInsertStatement ValuesC(this IInsertStatement insert, IEnumerable <string> values)
 {
     return(ValuesVarCustomer(insert, values));
 }
Example #15
0
 public static IInsertStatement Columns(this IInsertStatement insert, params ColumnExpression[] columns)
 {
     insert.Columns = columns.ToArray();
     return(insert);
 }
Example #16
0
 public static IInsertStatement ValuesVarCustomer(this IInsertStatement insert, params string[] values)
 {
     return(Values(insert, values.Select(v => new CustomerExpression(v))));
 }
Example #17
0
 public static IInsertStatement ValuesVarCustomer(this IInsertStatement insert, IEnumerable <string> values)
 {
     return(Values(insert, values.Select(v => new CustomerExpression(v))));
 }
Example #18
0
        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));
        }
Example #19
0
 public static IInsertStatement ValuesNull(this IInsertStatement insert)
 {
     return(ValuesFillNull(insert));
 }
Example #20
0
 public static IInsertStatement Cols(this IInsertStatement insert, params IColumnExpression[] columns)
 {
     return(Columns(insert, columns));
 }
Example #21
0
 public static IInsertStatement Set(this IInsertStatement insert, IColumnExpression column, object value)
 {
     return(Set(insert, column, value is IValueExpression ? value as IValueExpression : new LiteralValueExpression(value)));
 }
Example #22
0
 public static IInsertStatement Vals(this IInsertStatement insert, params object[] values)
 {
     return(Values(insert, values));
 }
Example #23
0
 public static IInsertStatement SetVarCustomer(this IInsertStatement insert, IColumnExpression column, string customer)
 {
     return(Set(insert, column, new CustomerExpression(customer)));
 }
Example #24
0
 public static IInsertStatement Columns(this IInsertStatement insert, IEnumerable <IColumnExpression> columns)
 {
     insert.Columns = columns.ToArray();
     return(insert);
 }
Example #25
0
 public static IInsertStatement ValuesC(this IInsertStatement insert, params string[] values)
 {
     return(ValuesVarCustomer(insert, values));
 }