2015-05-25 20 views
0

是否可以在OrmLite中使用explictit事務?如何在ServiceStack.Ormlite中爲.Net使用顯式轉換?

例如,在下面的代碼中,我想使用查詢中傳遞的參數作爲參數。那可能嗎?

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>]); 
     } 
    } 

感謝

回答

1

你可以找到的信息和對OrmLite的主頁,你只需要調用db.OpenTransaction()啓動一個ADO.NET的事務,例如使用OrmLite's transaction support的例子:

using (IDbConnection db = dbFactory.OpenDbConnection()) 
using (IDbTransaction dbTrans = db.OpenTransaction()) 
{ 
    var customer = db.Single<Order>(x => x.CustomerId == 1); 

    dbTrans.Commit(); 
} 
+0

喜Mythz,在我的情況下,我已經開始了一筆交易,我不想打開另一筆交易。我想用它。那可能嗎? –

+0

@MarcosLommez在事務範圍內執行的任何命令應自動分開該事務。 – mythz

+0

如果我可以將IDbTransaction實例作爲參數傳遞給連接的操作(獲取,插入,刪除,更新),就像Dapper一樣,這樣會很好。你有計劃實施該功能嗎? –