NHibernate 为所有列生成更新语句

标签 nhibernate fluent-nhibernate

NHibernate 是否总是为所有列生成更新?

公共(public)类人
{
公共(public)虚拟 int Id { 获取;放; }
公共(public)虚拟字符串名称 { 获取;放; }
公共(public)虚拟字符串地址 { 获取;放; }
}

人 p = Session.Load(1);
p.Name = "新名称";

Session.Flush();//更新所有列,但我只更改名称

这是 NHibernate 的正常行为还是我的错误?我使用 Fluent NHibernate 和 AutoMapping。

最佳答案

这是默认行为,但您只能通过添加 dynamic-update="true" 来使 NH 更新已修改的列给您的<class>映射。

关于NHibernate 为所有列生成更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464888/

相关文章:

c# - NHibernate Query<T>、Get<T> 和 Load<T> 的区别

fluent-nhibernate - "Tried to add property ' Id ' when already added."- 两次实现自己的类时出错

c# - 使用 C# 和 Fluent Nhibernate 在 MySQL 中使用 DateTime 保存毫秒精度

.net - 如何微调 FluentNHibernate 的自动映射器?

asp.net-mvc - NHibernate 和上下文实体

NHibernate,通过父级添加子级与在子级上设置对父级的引用

c# - nHibernate 不解析所有字段的属性

nhibernate - 多个非 PK 字段上的流畅 NHibernate 映射

nhibernate - 在与 nHibernate 的关系中保持图的一致性

c# - NHibernate 尝试在删除操作中将 ID 更新为 null