【问题标题】:Storing additional data in Entities在实体中存储附加数据
【发布时间】:2011-10-27 01:00:35
【问题描述】:

假设我有以下实体:Location & Product

Locations 有尺寸(长、宽、高),Products 也是如此。 Locations 包含一个或多个 Products。基本上我需要得到一堆Locations 并根据它们的尺寸和Products 计算Location 剩余的房间留在特定位置。我基本上需要存储这个值(剩余空间量)并根据这个值对Locations 进行排序。

我应该在哪里存储这个值?

我是否应该将它存储在 Location 实体本身中,作为一个没有映射到数据库中任何内容的属性?这似乎是一种不好的做法,但很容易做到。

我是否应该为此创建一个包含此附加属性和其余位置数据的 DTO(这种情况似乎需要做很多额外的工作)

我是否应该创建一个基本上包含这个附加属性和实际 Location 实体的包装器?

【问题讨论】:

    标签: nhibernate entity dto


    【解决方案1】:

    在我看来,数据似乎是对象本身固有的,所以我认为将它添加到 Location 类中是完全合适的。

    我会简单地将它设置为 Location 类的惰性属性。它只应在需要时计算,并且可能会触发 Location 的 Products 集合的延迟加载。

    如果你愿意,你可以将它映射到一个表列,这样当 NHibernate 刷新时,它总是会写出最新的值。这将使您能够在查询中使用它来在数据库级别进行排序和过滤。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 2012-02-13
      • 2013-01-23
      相关资源
      最近更新 更多