Example #1
0
 public List <T> ScalarListResultSync <T>(BaseInsertQuery query, DbConnection con, DbTransaction tx, bool prepare = true)
 {
     using (var cmd = ToCommand(query, con, tx))
     {
         return(ScalarListResultSync <T>(cmd, prepare));
     }
 }
Example #2
0
        public BaseInsertQuery EndValues()
        {
            var q = _query;

            _query = null;
            return(q.WithValues(this));
        }
Example #3
0
 public async Task <T> ScalarResult <T>(BaseInsertQuery query, DbConnection con, DbTransaction tx, bool prepare = true)
 {
     using (var cmd = ToCommand(query, con, tx))
     {
         return(await ScalarResult <T>(cmd, prepare));
     }
 }
Example #4
0
        public void InsertSync <T>(T[] items, DbConnection con, DbTransaction tx = null)
        {
            var table          = TypeToTableEntry <T> .DefaultTable;
            var q              = new BaseInsertQuery(table).WithValues(items.Select((item, i) => TypeToTableEntry <T> .ToValues(item, table, i)).ToArray());
            var returningParts = TypeToTableEntry <T> .Returning(items[0], table);

            if (returningParts != null)
            {
                q = q.Returning(returningParts);
                var ids = q.ScalarListSync <int>(con, tx, items.Length == 1);

                if (ids.Count != items.Length)
                {
                    throw new InvalidOperationException();
                }

                for (int i = 0; i < items.Length; i++)
                {
                    TypeToTableEntry <T> .ApplyReturning(items[i], ids[i]);
                }
            }
            else
            {
                q.ExecuteSync(con, tx, items.Length == 1);
            }
        }
 public async Task <List <T> > ScalarListResult <T>(BaseInsertQuery query, DbConnection con, DbTransaction tx)
 {
     using (var cmd = ToCommand(query, con, tx))
     {
         return(await ScalarListResult <T>(cmd));
     }
 }
Example #6
0
 public T ScalarResultSync <T>(BaseInsertQuery query, DbConnection con, DbTransaction tx)
 {
     using (var cmd = ToCommand(query, con, tx))
     {
         return(ScalarResultSync <T>(cmd));
     }
 }
Example #7
0
 protected ValuesCollection(BaseInsertQuery query, List <SetFieldPart> values)
 {
     _query = query;
     Values = values;
 }
Example #8
0
 public DbCommand ToCommand(BaseInsertQuery query, DbConnection con, DbTransaction tx = null)
 => ToCommand <InsertVisitor, BaseInsertQuery>(query, con, tx);
Example #9
0
 public string ToQueryText(BaseInsertQuery query)
 => ToQueryText <InsertVisitor, BaseInsertQuery>(query);