【发布时间】: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