【问题标题】:NHibernate and NTier ApplicationNHibernate 和 NTier 应用程序
【发布时间】:2012-02-28 14:03:15
【问题描述】:

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

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

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

  3. 你知道一些用于 POCO 更改跟踪器的库或模式吗?

谢谢!

【问题讨论】:

    标签: nhibernate dto n-tier-architecture


    【解决方案1】:

    第二个是迄今为止最简单的,但有一些限制

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-29
        • 2010-10-29
        • 2010-11-27
        • 1970-01-01
        • 1970-01-01
        • 2011-11-11
        • 1970-01-01
        相关资源
        最近更新 更多