本文整理汇总了C#中TestDataConnection.BulkCopy方法的典型用法代码示例。如果您正苦于以下问题:C# TestDataConnection.BulkCopy方法的具体用法?C# TestDataConnection.BulkCopy怎么用?C# TestDataConnection.BulkCopy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TestDataConnection
的用法示例。
在下文中一共展示了TestDataConnection.BulkCopy方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NoTransaction
public void NoTransaction(string context)
{
using (var db = new TestDataConnection(context))
{
var list = new[]
{
new Parent { ParentID = 1111, Value1 = 1111 },
new Parent { ParentID = 2111, Value1 = 2111 },
new Parent { ParentID = 3111, Value1 = 3111 },
new Parent { ParentID = 4111, Value1 = 4111 },
};
foreach (var parent in list)
db.Parent.Delete(p => p.ParentID == parent.ParentID);
db.BulkCopy(list);
foreach (var parent in list)
db.Parent.Delete(p => p.ParentID == parent.ParentID);
}
}
示例2: Transaction
public void Transaction([DataContexts(ExcludeLinqService=true)] string context)
{
using (var db = new TestDataConnection(context))
{
var list = new[]
{
new Parent { ParentID = 1111, Value1 = 1111 },
new Parent { ParentID = 2111, Value1 = 2111 },
new Parent { ParentID = 3111, Value1 = 3111 },
new Parent { ParentID = 4111, Value1 = 4111 },
};
foreach (var parent in list)
db.Parent.Delete(p => p.ParentID == parent.ParentID);
db.BeginTransaction();
db.BulkCopy(list);
db.CommitTransaction();
foreach (var parent in list)
db.Parent.Delete(p => p.ParentID == parent.ParentID);
}
}
示例3: RunScript
static void RunScript(string configString, string divider, string name, Action<IDbConnection> action = null)
{
Console.WriteLine("=== " + name + " === \n");
var text = File.ReadAllText(@"Database\Create Scripts\" + name + ".sql");
while (true)
{
var idx = text.IndexOf("SKIP " + configString + " BEGIN");
if (idx >= 0)
text = text.Substring(0, idx) + text.Substring(text.IndexOf("SKIP " + configString + " END", idx));
else
break;
}
var cmds = text.Replace("\r", "").Replace(divider, "\x1").Split('\x1');
Exception exception = null;
using (var db = new TestDataConnection(configString))
{
//db.CommandTimeout = 20;
foreach (var cmd in cmds)
{
var command = cmd.Trim();
if (command.Length == 0)
continue;
try
{
Console.WriteLine(command);
db.Execute(command);
Console.WriteLine("\nOK\n");
}
catch (Exception ex)
{
if (command.TrimStart().StartsWith("DROP"))
Console.WriteLine("\nnot too OK\n");
else
{
Console.WriteLine(ex.Message);
Console.WriteLine("\nFAILED\n");
if (exception == null)
exception = ex;
}
}
}
if (exception != null)
throw exception;
Console.WriteLine("\nBulkCopy LinqDataTypes\n");
var options = new BulkCopyOptions
{
#if MONO
BulkCopyType = BulkCopyType.MultipleRows
#endif
};
db.BulkCopy(
options,
new []
{
new LinqDataTypes { ID = 1, MoneyValue = 1.11m, DateTimeValue = new DateTime(2001, 1, 11, 1, 11, 21, 100), BoolValue = true, GuidValue = new Guid("ef129165-6ffe-4df9-bb6b-bb16e413c883"), SmallIntValue = 1 },
new LinqDataTypes { ID = 2, MoneyValue = 2.49m, DateTimeValue = new DateTime(2005, 5, 15, 5, 15, 25, 500), BoolValue = false, GuidValue = new Guid("bc663a61-7b40-4681-ac38-f9aaf55b706b"), SmallIntValue = 2 },
new LinqDataTypes { ID = 3, MoneyValue = 3.99m, DateTimeValue = new DateTime(2009, 9, 19, 9, 19, 29, 90), BoolValue = true, GuidValue = new Guid("d2f970c0-35ac-4987-9cd5-5badb1757436"), SmallIntValue = 3 },
new LinqDataTypes { ID = 4, MoneyValue = 4.50m, DateTimeValue = new DateTime(2009, 9, 20, 9, 19, 29, 90), BoolValue = false, GuidValue = new Guid("40932fdb-1543-4e4a-ac2c-ca371604fb4b"), SmallIntValue = 4 },
new LinqDataTypes { ID = 5, MoneyValue = 5.50m, DateTimeValue = new DateTime(2009, 9, 20, 9, 19, 29, 90), BoolValue = true, GuidValue = new Guid("febe3eca-cb5f-40b2-ad39-2979d312afca"), SmallIntValue = 5 },
new LinqDataTypes { ID = 6, MoneyValue = 6.55m, DateTimeValue = new DateTime(2009, 9, 22, 9, 19, 29, 90), BoolValue = false, GuidValue = new Guid("8d3c5d1d-47db-4730-9fe7-968f6228a4c0"), SmallIntValue = 6 },
new LinqDataTypes { ID = 7, MoneyValue = 7.00m, DateTimeValue = new DateTime(2009, 9, 23, 9, 19, 29, 90), BoolValue = true, GuidValue = new Guid("48094115-83af-46dd-a906-bff26ee21ee2"), SmallIntValue = 7 },
new LinqDataTypes { ID = 8, MoneyValue = 8.99m, DateTimeValue = new DateTime(2009, 9, 24, 9, 19, 29, 90), BoolValue = false, GuidValue = new Guid("c1139f1f-1335-4cd4-937e-92602f732dd3"), SmallIntValue = 8 },
new LinqDataTypes { ID = 9, MoneyValue = 9.63m, DateTimeValue = new DateTime(2009, 9, 25, 9, 19, 29, 90), BoolValue = true, GuidValue = new Guid("46c5c512-3d4b-4cf7-b4e7-1de080789e5d"), SmallIntValue = 9 },
new LinqDataTypes { ID = 10, MoneyValue = 10.77m, DateTimeValue = new DateTime(2009, 9, 26, 9, 19, 29, 90), BoolValue = false, GuidValue = new Guid("61b2bc55-147f-4b40-93ed-a4aa83602fee"), SmallIntValue = 10 },
new LinqDataTypes { ID = 11, MoneyValue = 11.45m, DateTimeValue = new DateTime(2009, 9, 27, 0, 0, 0, 0), BoolValue = true, GuidValue = new Guid("d3021d18-97f0-4dc0-98d0-f0c7df4a1230"), SmallIntValue = 11 },
new LinqDataTypes { ID = 12, MoneyValue = 11.45m, DateTimeValue = new DateTime(2012, 11, 7, 19, 19, 29, 90), BoolValue = true, GuidValue = new Guid("03021d18-97f0-4dc0-98d0-f0c7df4a1230"), SmallIntValue = 12 }
});
Console.WriteLine("\nBulkCopy Parent\n");
db.BulkCopy(
options,
new []
{
new Parent { ParentID = 1, Value1 = 1 },
new Parent { ParentID = 2, Value1 = null },
new Parent { ParentID = 3, Value1 = 3 },
new Parent { ParentID = 4, Value1 = null },
new Parent { ParentID = 5, Value1 = 5 },
new Parent { ParentID = 6, Value1 = 6 },
new Parent { ParentID = 7, Value1 = 1 }
});
Console.WriteLine("\nBulkCopy Child\n");
db.BulkCopy(
//.........这里部分代码省略.........
示例4: MultipleDelete
public void MultipleDelete(string context)
{
using (var db = new TestDataConnection(context))
{
db.Parent.Delete(c => c.ParentID >= 1000);
try
{
var list = new[] { new Parent { ParentID = 1000 }, new Parent { ParentID = 1001 } };
db.BulkCopy(list);
var ret = db.Parent.Delete(p => list.Contains(p) );
Assert.That(ret, Is.EqualTo(2));
}
finally
{
db.Parent.Delete(c => c.ParentID >= 1000);
}
}
}