예제 #1
0
 public void TestGetTheRightCopier3()
 {
     DbContext dc = new DbContext("SqlServer");
     dc.NewTransaction(delegate()
     {
         IDbBulkCopy c = dc.GetDbBulkCopy();
         Assert.IsNotNull(c);
         Assert.IsTrue(c is SqlServerBulkCopy);
     });
 }
예제 #2
0
 public void TestSqlServeerBulkCopy()
 {
     DbContext dc = new DbContext("SqlServer");
     SqlStatement sql = new SqlStatement("select [Id],[Name] from [Books] order by [Id]");
     List<long> rcs = new List<long>();
     DbEntry.Context.ExecuteDataReader(sql, delegate(IDataReader dr)
     {
         dc.NewConnection(delegate()
         {
             IDbBulkCopy c = dc.GetDbBulkCopy();
             c.BatchSize = 2;
             c.DestinationTableName = "test";
             c.NotifyAfter = 3;
             c.SqlRowsCopied += new SqlRowsCopiedEventHandler(delegate(object sender, SqlRowsCopiedEventArgs e)
             {
                 rcs.Add(e.RowsCopied);
             });
             c.WriteToServer(dr);
         });
     });
     Assert.AreEqual(1, rcs.Count);
     Assert.AreEqual(3, rcs[0]);
 }