0

我仍然对一些 NHibernate 条款有困难,所以请多多包涵。

我正在基于网络提交构建一个 POCO 类。Web 用户将更改一些标量属性。POCO 将已保存在数据库中。我想将 POCO 的更改保存到数据库,收集子对象(应该保持不变)并返回 POCO 的图表,以便我可以将反馈发送回用户。

这样做的正确方法是什么?这是“分离”吗?连接子集合的适当方法是什么?可以在一个数据库批次中完成吗?

4

1 回答 1

1
  1. 持久化对象的更改很容易使用Session.Update().
  2. 检索子集合要么隐式完成(通过访问导致 nHibernate 从数据库获取它的集合属性),要么显式地使用该Fetch()方法。
    例如 - var users = QueryOver<User>().Where(u => u.Age > 18).Fetch(u => u.Children).Eager

一般来说,对于一个网络应用程序,我建议阅读一些关于“每个请求的会话”模式的内容。(这个例子对我来说有点矫枉过正,但它很好地解释了这个概念)。
也不要忘记总是使用 transactions

于 2012-08-24T19:34:32.890 回答