3

我希望将 SqlKata 用于项目。但是,项目标准的一部分是查询应该能够作为事务执行。有没有办法可以使用 MSSQL 事务执行一个查询或多个查询?

非常感谢。

4

2 回答 2

3

SQLKataDapper用作查询执行的一部分。由于Dapper 支持 transactionScopes,因此您也可以将 SQL Kata 查询包装在事务中

 using System.Transactions;
....
       using (var scope = _db.Connection.BeginTransaction())
       {
            _db.Query("Posts").WhereNull("AuthorId").AsUpdate(new {
               AuthorId = 10
           });
           ...
            scope.Commit();

        }
于 2019-07-30T14:12:12.133 回答
2

目前Sqlkata中还没有对事务的直接支持,近期有计划,目前可以直接使用该db.Statement()方法调用事务。

db.Statement("BEGIN TRANSACTION");

db.Query("Transactions").Where(...).Update(new {Amount = 100});
db.Query("...").Delete();

if(err) {

    db.Statement("ROLLBACK TRANSACTION");

}

db.Statement("COMMIT TRANSACTION");
于 2019-03-12T20:44:19.240 回答