コード例 #1
0
 public string TestGenerateScript(string insertRow, IEnumerable<string> primaryColumns)
 {
     var row = DataDescFactory.CreateRowDescriptor<InsertRowDesc>(insertRow, primaryColumns);
       Assert.AreEqual(insertRow, row.OriginalRow);
       var gen = new RowScriptGen();
       var script = gen.GenerateMergeScript(row);
       Trace.WriteLine(script);
       return script;
 }
コード例 #2
0
 public string TestGenerateUnitedScript(IEnumerable<string> insertRows, string[] primaryColumns)
 {
     var rows = new List<InsertRowDesc>();
       foreach (var row in insertRows)
       {
     rows.Add(DataDescFactory.CreateRowDescriptor<InsertRowDesc>(row, primaryColumns));
       }
       var gen = new RowScriptGen();
       var script = gen.GenerateMergeScript(rows, united:true);
       Trace.WriteLine(script);
       return script;
 }
コード例 #3
0
ファイル: TableScriptBuilder.cs プロジェクト: popovegor/tools
 public void Append(TableDataDesc table)
 {
     var rows = new List<RowDesc>();
       foreach(var scriptedRow in table.ScriptedData)
       {
     var row = DataDescFactory.CreateRowDescriptor(scriptedRow, table.PrimaryColumns);
     rows.Add(row);
       }
       var gen = new RowScriptGen();
       //Header
       var header = rows.TakeWhile(r => false == r is InsertRowDesc);
       //_sb.Append(gen.GenerateScript(header));
       _sb.AppendFormat("{0}{1}", gen.GenerateScript(header), Environment.NewLine);
       //Data
       var data = rows.Where(r => r is InsertRowDesc).Select(r => r as InsertRowDesc);
       _sb.AppendFormat("{0}{1}", gen.GenerateMergeScript(data, true), Environment.NewLine);
       //Footer
       var footer = rows.Skip(header.Count() + data.Count());
       _sb.AppendFormat("{0}{1}", gen.GenerateScript(footer), Environment.NewLine);
 }