4
我使用的是NHibernate 2.1.2 + Fluent NHibernate用NHibernate編寫計算屬性
我有一個ContactInfo
類和表。使用EncryptByPassphrase
/DecryptByPassphrase
在數據庫(SQL Server)中加密Name
列。
以下是相關的架構/班/映射位:
table ContactInfo(
int Id,
varbinary(108) Name)
public class ContactInfo
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class ContactInfoMap : ClassMap<ContactInfo>
{
public ContactInfoMap()
{
Id(x => x.Id);
Map(x => x.Name)
.Formula("Convert(nvarchar, DecryptByPassPhrase('passphrase', Name))");
}
}
使用Formula
方法如上,值從數據庫中獲取正確讀取,但NHibernate的不嘗試插入/更新保存到數據庫時的值(這是有道理的)。
問題是我希望能夠使用相應的EncryptByPassPhrase
函數編寫Name
值。我不確定NHibernate是否支持這一點,如果確實如此,我一直無法找到正確的單詞來有效地搜索文檔。
所以...我怎麼能用NHibernate把這個計算的屬性寫回數據庫?
在此先感謝!