PetaPoco - 插入到DB时的事务隔离级别

时间:2016-01-19 15:14:34

标签: c# database orm petapoco

有没有办法使用PetaPoco在Insert to DB上设置隔离级别!

事务在数据库未完成时锁定数据库, 我知道有办法编辑实际的查询或SP,但有没有办法通过petapoco控制隔离级别?似乎早期版本中有一个选项,但无法在最新版本中找到任何内容。

我目前的示例代码:

using (var scope = contextasync.getInstance().GetTransaction())
{
    try {
        object userId = context.Insert(user);
        example.UserId = user.Id;
        object affected2 = context.Insert(example); }catch(Exception exc)
    {
        //log the error

    }
scope.Complete();

}

检查了这一点,但没有帮助: PetaPoco - setting transaction isolation level

1 个答案:

答案 0 :(得分:2)

使用最新版本的PetaPoco,您现在可以设置隔离级别。

使用fluent configuration

In [15]: df.head()
Out[15]: 
          x         y      heat
0  0.660055  0.395942  2.368304
1  0.126268  0.187978  6.760261
2  0.174857  0.637188  1.025078
3  0.460085  0.759171  2.635334
4  0.689242  0.173868  4.845778

或传统构造函数

var db = config.Build()
         .UsingConnectionString("cs")
         .UsingProvider<SqlServerDatabaseProvider>()
         .UsingIsolationLevel(IsolationLevel.Chaos)
         .Create();

 db.IsolationLevel.ShouldBe(IsolationLevel.Chaos);