我如何在 ServiceStack.Ormlite 中为 .Net 使用显式事务?
How can i use explicit transcations in ServiceStack.Ormlite for .Net?
可以在 OrmLite 中使用显式交易吗?
例如,在下面的代码中,我想在查询中使用作为参数传递的事务。这可能吗?
public Order QueryOrder(IDbTransaction transaction)
{
var dbFactory = new OrmLiteConnectionFactory(ConfigurationManager.ConnectionStrings["OrmTests2"].ConnectionString, SqlServerOrmLiteDialectProvider.Instance);
using (IDbConnection dbConn = dbFactory.OpenDbConnection())
{
return dbConn.Single<Order>(x => x.CustomerId == 1, [<transaction>]);
}
}
谢谢
您可以在 OrmLite 的主页上找到使用 OrmLite's transaction support 的信息和示例,您只需调用 db.OpenTransaction()
即可开始 ADO.NET 交易,例如:
using (IDbConnection db = dbFactory.OpenDbConnection())
using (IDbTransaction dbTrans = db.OpenTransaction())
{
var customer = db.Single<Order>(x => x.CustomerId == 1);
dbTrans.Commit();
}
可以在 OrmLite 中使用显式交易吗?
例如,在下面的代码中,我想在查询中使用作为参数传递的事务。这可能吗?
public Order QueryOrder(IDbTransaction transaction)
{
var dbFactory = new OrmLiteConnectionFactory(ConfigurationManager.ConnectionStrings["OrmTests2"].ConnectionString, SqlServerOrmLiteDialectProvider.Instance);
using (IDbConnection dbConn = dbFactory.OpenDbConnection())
{
return dbConn.Single<Order>(x => x.CustomerId == 1, [<transaction>]);
}
}
谢谢
您可以在 OrmLite 的主页上找到使用 OrmLite's transaction support 的信息和示例,您只需调用 db.OpenTransaction()
即可开始 ADO.NET 交易,例如:
using (IDbConnection db = dbFactory.OpenDbConnection())
using (IDbTransaction dbTrans = db.OpenTransaction())
{
var customer = db.Single<Order>(x => x.CustomerId == 1);
dbTrans.Commit();
}