【问题标题】:How to do bulk save / updates without using HQL?如何在不使用 HQL 的情况下进行批量保存/更新?
【发布时间】:2014-11-07 15:36:33
【问题描述】:

我可以使用 HQL 进行批量操作,但是这些操作不会更新 NHibernate 的一级缓存,所以我面临各种问题,因为我不想清除会话或刷新对象。

有没有什么方法可以在不使用 HQL 或本机 SQL 的情况下执行批量更新/删除并影响 NHibernate 缓存的内存状态?

【问题讨论】:

  • 没有。正如我已经在 this answer to your previous quesiton 中向您展示的那样,DML 不会影响内存状态 - 会话。
  • 是的。意识到这是开始使用 ORM 的明显限制。如果您考虑一个小时可能会遇到的问题,您可能会意识到为什么会这样。

标签: c# caching nhibernate hql bulkupdate


【解决方案1】:

所以,看来唯一的办法就是手动处理并刷新对象:

session.Refresh(entity);

【讨论】:

    猜你喜欢
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 2016-05-27
    • 2023-04-05
    • 2017-05-04
    • 1970-01-01
    相关资源
    最近更新 更多