本文整理汇总了C#中LinqToDB.Data.DataConnection.BeginTransaction方法的典型用法代码示例。如果您正苦于以下问题:C# DataConnection.BeginTransaction方法的具体用法?C# DataConnection.BeginTransaction怎么用?C# DataConnection.BeginTransaction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LinqToDB.Data.DataConnection
的用法示例。
在下文中一共展示了DataConnection.BeginTransaction方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestTransaction2
public void TestTransaction2(string context)
{
using (var db = new DataConnection(context))
{
db.GetTable<Parent>().Update(p => p.ParentID == 1, p => new Parent { Value1 = 1 });
using (var tran = db.BeginTransaction())
{
db.GetTable<Parent>().Update(p => p.ParentID == 1, p => new Parent { Value1 = null });
Assert.IsNull(db.GetTable<Parent>().First(p => p.ParentID == 1).Value1);
tran.Rollback();
Assert.That(1, Is.EqualTo(db.GetTable<Parent>().First(p => p.ParentID == 1).Value1));
}
}
}
示例2: BulkCopyTest
void BulkCopyTest(string context, BulkCopyType bulkCopyType)
{
using (var conn = new DataConnection(context))
{
conn.BeginTransaction();
conn.BulkCopy(new BulkCopyOptions { MaxBatchSize = 50000, BulkCopyType = bulkCopyType },
Enumerable.Range(0, 100000).Select(n =>
new AllType
{
ID = 2000 + n,
bigintDataType = 3000 + n,
smallintDataType = (short)(4000 + n),
tinyintDataType = (sbyte)(5000 + n),
mediumintDataType = 6000 + n,
intDataType = 7000 + n,
numericDataType = 8000 + n,
decimalDataType = 9000 + n,
doubleDataType = 8800 + n,
floatDataType = 7700 + n,
dateDataType = DateTime.Now,
datetimeDataType = DateTime.Now,
timestampDataType = null,
timeDataType = null,
yearDataType = (1000 + n) % 100,
year2DataType = (1000 + n) % 100,
year4DataType = null,
charDataType = 'A',
varcharDataType = "",
textDataType = "",
binaryDataType = null,
varbinaryDataType = null,
blobDataType = new byte[] { 1, 2, 3 },
bitDataType = null,
enumDataType = "Green",
setDataType = "one",
intUnsignedDataType = (uint)(5000 + n),
}));
//var list = conn.GetTable<ALLTYPE>().ToList();
conn.GetTable<DB2Test.ALLTYPE>().Delete(p => p.SMALLINTDATATYPE >= 5000);
}
}
示例3: BulkCopyTest
void BulkCopyTest(string context, BulkCopyType bulkCopyType)
{
using (var conn = new DataConnection(context))
{
conn.BeginTransaction();
conn.BulkCopy(new BulkCopyOptions { MaxBatchSize = 50, BulkCopyType = bulkCopyType },
Enumerable.Range(0, 100).Select(n =>
new AllType
{
ID = 2000 + n,
bigintDataType = 3000 + n,
smallintDataType = (short)(4000 + n),
decimalDataType = 900000 + n,
smalldecimalDataType = 90000 + n,
intDataType = 7000 + n,
tinyintDataType = (byte)(5000 + n),
floatDataType = 7700 + n,
realDataType = 7600 + n,
dateDataType = DateTime.Now,
timeDataType = DateTime.Now - DateTime.Today,
seconddateDataType = DateTime.Now,
timestampDataType = DateTime.Now,
charDataType = 'A',
varcharDataType = "AA",
textDataType = "text",
shorttextDataType = "shorttext",
ncharDataType = '\u00fc',
nvarcharDataType = "A\u00fcfsdf\u00fc",
alphanumDataType = "abcQWE654",
binaryDataType = new byte[] { 1 },
varbinaryDataType = new byte[] { 1, 2, 3 },
blobDataType = new byte[] { 1, 2, 3, 4, 5, 6 },
clobDataType = "clobclobclob",
nclobDataType = "nclob\u00fcnclob\u00fcnclob\u00fc"
}));
conn.GetTable<AllType>().Delete(p => p.ID >= 2000);
}
}