gpt4 book ai didi

nhibernate - 使用 NHibernate 编写计算属性

转载 作者:行者123 更新时间:2023-12-03 16:41:08 25 4
gpt4 key购买 nike

我正在使用 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 在保存到数据库时不会尝试插入/更新值(这是有道理的)。

问题是我希望能够写出 Name值使用相应的 EncryptByPassPhrase功能。我不确定 NHibernate 是否支持这一点,如果支持,我一直无法找到正确的词来有效地搜索文档。

那么...如何使用 NHibernate 将此计算属性写回数据库?

提前致谢!

最佳答案

映射到公式的属性是只读的。

包含在 ContactInfoNameUpdater 服务中的命名查询可能是解决问题的一种方法。

关于nhibernate - 使用 NHibernate 编写计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4490019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com