NHibernate和NTier应用程序

时间:2012-02-28 14:03:15

标签: nhibernate dto n-tier-architecture

我们希望将NHibernate用于我们的持久性服务 几个问题:

  1. 如果我们使用nhibernate加载POCO,将其移动到另一层,在那里更新(向bag添加项目或更改一些属性)然后将其返回到持久层并保存,NHibernate如何知道如何更新更改? (或许类似于选择并将更新的项目与之前的项目进行比较?)

  2. 我们可以要求NHibernate只更新特定的项目吗? (如果我们使用某些更改跟踪器知道更改)

  3. 您是否知道POCO更改跟踪器的某些库或模式?

  4. 谢谢!

2 个答案:

答案 0 :(得分:1)

第二个是迄今为止最容易但有一些限制

答案 1 :(得分:0)

在Web服务应用程序中,我通常不会将域实体暴露给服务客户端,所有实体都映射到DTO类。通过从数据库中检索域实体,从调用参数更新其属性并将其保存在一个事务中来完成更新。为避免编写大量手动属性分配,您可以使用AutoMapper之类的东西从DTO更新域实体。

对于应用程序内的服务层也可以这样做。