【问题标题】:Save instance loaded from one session on a different session保存从一个会话加载的实例到另一个会话
【发布时间】:2014-05-12 10:39:29
【问题描述】:

也许我今天的搜索技能很差,但无论如何,使用一个会话对象获取一个实例,然后将该实例保存在另一个会话对象上是错误的还是可能有副作用?

我问原因,一旦我重构了我的代码来做到这一点,我遇到了很多问题,比如即使实例已经持久化,它也会在数据库上创建新记录。

谢谢

【问题讨论】:

  • 只是好奇,但是在应用程序上下文中执行这项工作不是更有意义吗?不过,您似乎回答了自己的问题:您得到了奇怪的副作用。
  • 这是一个windows服务,涉及多线程。
  • 谢谢。我误读了我看到“会话”并认为是 asp.net。您可以通过附加和重新附加对象在会话之间移动它们。我以前看过它,但最终走了一条不同的路线。这可能会回答您的问题:stackoverflow.com/questions/272719/…

标签: c# nhibernate windows-services


【解决方案1】:

使用Merge方法:

newSession.Merge(entity);
newSession.Save(entity);

【讨论】:

    猜你喜欢
    • 2021-06-12
    • 2011-03-20
    • 2013-01-28
    • 1970-01-01
    • 2012-10-06
    • 2018-12-07
    • 1970-01-01
    • 2021-04-19
    • 2014-07-10
    相关资源
    最近更新 更多