【发布时间】:2010-12-20 13:21:20
【问题描述】:
我正在使用 NHibernate 2.1.2 + Fluent NHibernate
我有一个ContactInfo 班级和桌子。 Name 列在数据库 (SQL Server) 中使用 EncryptByPassphrase/DecryptByPassphrase 加密。
以下是相关的架构/类/映射位:
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 将此计算属性写回数据库?
提前致谢!
【问题讨论】:
标签: nhibernate fluent-nhibernate