【问题标题】:Table of Unique Strings with Fluent NHibernateFluent NHibernate 的唯一字符串表
【发布时间】:2009-09-07 17:31:52
【问题描述】:

我有一个 Item 类和一个 ItemAttribute 类,其中 Item 有一个 ItemAttribute 类型的属性。

ItemAttribute 只有两个属性,一个称为 ID 的 Guid 和一个称为 name 的字符串。这里的想法是我想存储一个名为 ItemAttributes 的表,其中包含一个唯一字符串列表。

我的问题是,如果我保存一个引用数据库中已经存在的 ItemAttribute 的 Item,我怎样才能让它引用已经存在的 ItemAttribute,而不是创建一个新的?

更新

Kristoffer Ahl 在this post 中更好地表达了我想要做的事情。

看起来我想做的事情是不可能的:(

所以,让我们稍微抽象一下:) ItemAttributes 表的目的只是为了减少重复,所以我可以只存储每个属性一次,并使用标识符链接到 Item。

如果我可以为每个属性生成一个唯一的 ID,我可以分配这个 ID 和代码 - 这应该可以!

但是如何为字符串生成唯一 ID? ID必须一致,这样每次都会为同一个字符串生成相同的ID。

【问题讨论】:

    标签: c# nhibernate orm fluent-nhibernate


    【解决方案1】:

    我使用 SaveOrUpdateCopy 解决了这个问题。

    这种方法唯一的问题是我需要在调用 SaveOrUpdateCopy 之前为 ItemAttribute 对象分配一个 ID。

    【讨论】:

      猜你喜欢
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多