コード例 #1
0
        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)})");
        }
コード例 #2
0
ファイル: InsertSqlBuilder.cs プロジェクト: sapiens/SqlFu
 public InsertSqlBuilder(TableInfo info,object data,IDbProvider provider,InsertSqlOptions options)
 {
     _info = info;
     _data = data;
     _provider = provider;
     _options = options;      
     options.EnsureTableName(info);      
 }
コード例 #3
0
 public InsertSqlBuilder(TableInfo info, object data, IDbProvider provider, InsertSqlOptions options)
 {
     _info     = info;
     _data     = data;
     _provider = provider;
     _options  = options;
     options.EnsureTableName(info);
 }
コード例 #4
0
        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);
        }
コード例 #5
0
ファイル: InsertBuilderTests.cs プロジェクト: sapiens/SqlFu
  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);
 
  }
コード例 #6
0
 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)})");
 }
コード例 #7
0
ファイル: InsertSqlBuilder.cs プロジェクト: raihansazal/SqlFu
 private static IEnumerable <string> GetIgnoredColumns(InsertSqlOptions options)
 => options.Info.Columns.Where(d => d.IsComplex || options.IgnoreProperties.Contains(d.PropertyInfo.Name)).Select(d => d.Name);
コード例 #8
0
ファイル: InsertSqlBuilder.cs プロジェクト: raihansazal/SqlFu
 public InsertSqlBuilder(object data, IDbProvider provider, InsertSqlOptions options)
 {
     _data     = data;
     _provider = provider;
     _options  = options;
 }
コード例 #9
0
 public abstract string CreateInsertSql(InsertSqlOptions options, IDictionary <string, object> columnValues);