2010-10-19 111 views
2
NHibernate的IUserType的實現

我使用NHibernate的映射下面的類到Oracle數據庫在我的ASP.NET MVC應用程序:注射服務爲使用Autofac

public class User 
{ 
    // Needs to be encrypted/decrypted when persisting 
    public virtual string Question { get; set; } 
} 

下面,我已經幾個例子發現,我想使用一個NHibernate的IUserType的實現來轉換我的數據,當它被保存到我的數據庫example或從我的數據庫檢索。

由於我已經寫了一個EncryptionService類來處理我的應用程序的其他部分的數據加密,我想將它注入到我的用戶類型中。有沒有辦法使用Autofac在IUserType上執行構造函數注入?

+0

你能統一你的問題一點?你在談論'HashService','EncodingService'和'EncryptionService'。這些應該是一樣的? – 2010-10-21 07:11:06

+0

我再次嘗試。那個更好嗎? – 2010-10-21 15:01:14

回答

1

NHibernate負責創建IUserType實現的實例。如果你想要這個可配置的,你可以從AutoFac容器中查詢服務(顯然這不是依賴注入,更多的服務定位器)。或者你可以實現IConfigurable,它允許你輸入一個參數字典。其中一個參數可以是類名。

+0

這就是我看過的所有例子。我希望他們只是過時了...... – 2010-10-25 15:10:33