NHibernate部分更新

ble*_*evo 8 nhibernate

NHibernate中是否有一种方法可以从一个未经代理的模型开始

var m = new Model() { ID = 1 };
m.Name = "test";
//Model also has .LastName and .Age
Run Code Online (Sandbox Code Playgroud)

现在保存此模型只更新Name而不先从会话中选择模型?

Ste*_*ger 2

如果 model 除了 name 之外还有其他属性,则需要使用数据库中的原始值来初始化这些属性,除非它们将被设置为 null。

可以使用HQL更新操作;我自己从来没有尝试过。

您还可以使用本机 SQL语句。(“ Update model set name ...”)。

通常,不需要这种优化。在极少数情况下,您需要避免选择数据,因此编写此 SQL 语句只是浪费时间。您正在使用 ORM,这意味着:以面向对象的方式编写您的软件!除非你不会从中获得太多好处。