2014-02-20 76 views
1

我有與Oracle數據庫和NHibernate的.NET應用程序。 我需要處理NHibernate在使用當前使用的OracleConnection執行第一個DbCommand之前引發的一些「連接」事件。這是由於主要上下文初始化的必要性。我需要確保在執行任何命令上下文之前被初始化。 在NHibernate中有這種可能嗎?NHibernate OnConnected

P.S.爲此,我無法使用Oracle ON LOGON TRIGGER

UPD。解決方法是:

public class CustomConnectionProvider : DriverConnectionProvider 
    { 
     public override System.Data.IDbConnection GetConnection() 
     { 
      var conn = (OracleConnection)base.GetConnection(); 
      //init context 
      return conn; 
     } 
    } 

回答

3

您可以使用自定義DriverConnectionProvider。通常,這用於動態更改連接,但它似乎非常適合您的情況。由於它負責創建和打開連接,因此可以保證在執行之前不會發生任何操作。

+0

是的,它的工作原理!謝謝。 – Ali

相關問題