public override string CreateInsertSql(InsertSqlOptions options, IDictionary <string, object> columnValues) { var ins = options.IdentityColumn.IsNullOrEmpty() ? "" : $"\nOUTPUT INSERTED.{options.IdentityColumn} AS ID "; return($"insert into {EscapeTableName(options.TableName)}({columnValues.Keys.Select(EscapeIdentifier).StringJoin()})" + ins + $"\n values({JoinValuesAsParameters(columnValues)})"); }
public InsertSqlBuilder(TableInfo info,object data,IDbProvider provider,InsertSqlOptions options) { _info = info; _data = data; _provider = provider; _options = options; options.EnsureTableName(info); }
public InsertSqlBuilder(TableInfo info, object data, IDbProvider provider, InsertSqlOptions options) { _info = info; _data = data; _provider = provider; _options = options; options.EnsureTableName(info); }
public InsertBuilderTests() { _opt = new InsertSqlOptions(Setup.GetTableInfo <Post>()); _data = new Post() { Id = Guid.NewGuid(), Email = Email.CreateRandomTestValue().Value, SomeId = 23, }; _sut = new InsertSqlBuilder(_data, new FakeDbProvider(), _opt); }
public InsertBuilderTests() { _opt=new InsertSqlOptions(); _data=new Post() { Id = Guid.NewGuid(), Email = Email.CreateRandomTestValue().Value, SomeId = 23, }; _sut = new InsertSqlBuilder(Setup.GetTableInfo<Post>(),_data,new FakeDbProvider(), _opt); }
public override string CreateInsertSql(InsertSqlOptions options, IDictionary <string, object> columnValues) { return($"insert into {EscapeTableName(options.TableName)}({columnValues.Keys.Select(EscapeIdentifier).StringJoin()})\n values({JoinValuesAsParameters(columnValues)})"); }
private static IEnumerable <string> GetIgnoredColumns(InsertSqlOptions options) => options.Info.Columns.Where(d => d.IsComplex || options.IgnoreProperties.Contains(d.PropertyInfo.Name)).Select(d => d.Name);
public InsertSqlBuilder(object data, IDbProvider provider, InsertSqlOptions options) { _data = data; _provider = provider; _options = options; }
public abstract string CreateInsertSql(InsertSqlOptions options, IDictionary <string, object> columnValues);