我目前正在设计的应用程序中有以下层:
MSSQL < NHibernate < 存储库 < WCF < Javascript
在加载其托管网页 (EditOrder.aspx?id=104) 时,javascript 应用程序调用 WCF 服务以通过它的 id 获取订单。用户可以使用 UI 来修改 Order 的属性并添加/修改/删除子 OrderLines(一个订单具有 OrderLines 的集合)。
当用户按下保存按钮时,javascript 应用程序将带有 OrderLine 对象的 Order 和数组作为 JSON 发布到 WCF 服务。
计划是让 WCF 服务使用 AutoMapper 在域对象和 DTO 之间进行映射。当浏览器发布的 DTO 被 WCF 服务接收到时,会映射到对应的 Order 域对象,包括其子 OrderLines。
接下来,它将被传递到存储库中。
现在我的问题是:当我要求 NHibernate 更新我的订单时,是否可以让 NHibernate 负责识别任何已删除/插入/修改的 OrderLineItems?如果是这样,让这个工作涉及什么?
更新:这是 NHibernate Merge() 方法的作用吗?
谢谢!