public static long Insert(this IDAC dac, DataRow row, bool ommitAutoIncrementPK = true) { var cols = row.Table.Columns.Cast <DataColumn>(); var insertValues = cols.Select(c => new ColumnValue(c.ColumnName, row[c.ColumnName])); if (ommitAutoIncrementPK && row.Table.PrimaryKey.Length == 1 && row.Table.PrimaryKey[0].AutoIncrement) { insertValues = insertValues.Except(new ColumnValue(row.Table.PrimaryKey[0].ColumnName, row[row.Table.PrimaryKey[0].ColumnName])); } return(dac.Insert( row.Table.TableName, insertValues )); }
public static async Task <long> InsertAsync(this IDAC dac, string tableName, IEnumerable <ColumnValue> values) { return(await Task.Run(() => dac.Insert(tableName, values))); }
public static long Save(this IDAC dac, DataRow dataRow, bool ommitAutoIncrementPK = true) { using (var scope = dac.BeginScope(openConnection: true)) { return(dataRow.RowState == DataRowState.Added ? dac.Insert(dataRow, ommitAutoIncrementPK) : dac.Update(dataRow)); } }
public virtual long Insert(string tableName, IEnumerable <ColumnValue> values) { return(DecoratedDAC.Insert(tableName, values)); }