Используйте ExecuteCommand в Linq to Sql с транзакцией - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу обновить таблицы, используя ExecuteCommand() следующим образом:

using (var context = new FMDataContext())
{
    // how do I execute below two steps in a single transaction?
    context.ExecuteCommand("Update Table1 set X = 1 Where Y = 2");
    context.ExecuteCommand("Update Table2 set X = 3 Where Y = 4");
}

Существует ответ здесь для этого, но это для EF, я использую Linq To Sql .

1 Ответ

1 голос
/ 16 апреля 2019

вам нужно охватить TransactionScope вокруг ваших вызовов:

using (TransactionScope transaction = new TransactionScope())
{

    using (var context = new FMDataContext())
    {            
        context.ExecuteCommand("Update Table1 set X = 1 Where Y = 2");
        context.ExecuteCommand("Update Table2 set X = 3 Where Y = 4");
    }
    transaction.Complete();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...