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把这个计算的属性写回数据库?
在此先感谢!