c# - Nhibernate - 在不加载实体的情况下更新单个字段?

标签 c# nhibernate

我有一个用例,其中用户获取产品列表,并且可以选择多个产品并激活或停用它们。

此列表的模型是不可变的,我有一个存储库,其中包含应该停用所有模型的列表。

我确实有另一个完整的产品编辑模型,但我宁愿不必加载数百个模型来简单地更改一列。

我正在考虑使用 Session.CreateQuery,但是否有更好的方法来完成此操作?

最佳答案

HQL 是必经之路。

Session.CreateQuery("update Product set Active = :active where id in (:ids)")
       .SetParameter("active", active)
       .SetParameterList("ids", listOfSelectedProductIds)
       .ExecuteUpdate();

关于c# - Nhibernate - 在不加载实体的情况下更新单个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3390561/

相关文章:

c# - 是否可以动态编译和执行C#代码片段?

mysql - 使用流畅的 NHibernate 创建继承时出现问题

c# - async void 事件处理程序 - 澄清?

c# - Nhibernate:映射有条件的多对多关系?

c# - 为什么 IPersistenceContext.GetEntry 在 IPersistenceContext.UnproxyAndReassociate 之后返回 null?

nhibernate - 其中一个字段是 count(*) NHibernate

mysql - 插入多行时出现 NonUniqueObjectException 错误,LAST_INSERT_ID() 返回 0

c# - C# mySQL INSERT 语句错误 - "You have an error in your SQL syntax"

c# - Entity Framework 无效列

c# - 我应该在读取 ElapsedMilliseconds 之前调用 Stop 吗?