2016-01-19 3 views
3

Есть ли способ установить уровень изоляции для Insert to DB с помощью PetaPoco!PetaPoco - Уровень изоляции транзакции при вставке в DB

Transaction блокирует базу данных, пока ее не завершено, Я знаю, что есть способы редактировать фактические запросы или 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

+0

Можете ли вы пометить это как ответил. благодаря – Plebsori

ответ

2

С последней версией PetaPoco, теперь вы можете установить уровень изоляции.

Использование fluent configuration

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

db.IsolationLevel.ShouldBe(IsolationLevel.Chaos); 

или традиционный конструктор

var db = new Database("MyConnectionStringName") { IsolationLevel = IsolationLevel.Chaos }; 
Смежные вопросы