NHibernate存储库SaveOrUpdate对象图

时间:2011-02-01 16:47:55

标签: c# .net nhibernate fluent-nhibernate repository

我正在学习(流利)NHibernate,目前的挑战是了解如何编写存储库 DataService类。如果我检索了一个对象图,并且已经进行了更改;既可以是根对象集合,也可以是子集合;一些删除,一些添加,一些更新。我可以将整个对象抛入 session.SaveOrUpdate 吗?

这就是我目前所做的,它给了我许多不同的例外。我只需要知道我需要采取哪些步骤才能做到这一点?我是否需要向下钻取并单独保存每个子集合?甚至每个子实体?

对于这方面的一些简单示例会非常有用。

1 个答案:

答案 0 :(得分:1)

谷歌有很多很好的例子,但Getting Started area at NHForge.org是一个很好的起点。尝试搜索NHibernate Cascade或FluentNHibernate Cascade。

要直接回答您的问题,您需要确保通过FluentNH's conventions在NHibernate配置中为映射中的属性或(我的偏好)启用了适当的级联类型。一旦配置完毕,您应该能够将SaveOrUpdate()作为顶级实体,并将删除/更新/创建全部推送到数据库。