2009-09-07 61 views
0

我有一個類Item和一個ItemAttribute類,其中Item有一個ItemAttribute類型的屬性。流暢的NHibernate獨特字符串表

ItemAttribute只有兩個屬性,一個叫做ID的Guid和一個叫做name的字符串。這裏的想法是,我想存儲一個名爲ItemAttributes的表,其中包含一個唯一字符串列表。

我的問題是,如果我保存一個引用數據庫中已存在的ItemAttribute的Item,我怎樣才能使其引用已存在的ItemAttribute,而不是創建一個新的?

更新

的Kristoffer阿爾更好地表達我想要在this post做。

它看起來像什麼,我想做的事是不可能的:(

因此,讓抽象的東西有點:)的ItemAttributes中表的目的僅僅是爲了減少重複,這樣我就可以存儲每個屬性一次,並使用標識符鏈接到該項目。

如果我可以爲每個屬性生成一個唯一的ID,那麼我可以分配這個ID和代碼 - 這應該可行!

但是我怎樣才能爲一個字符串生成一個唯一的ID?該ID必須一致,以便每次爲相同的字符串生成相同的ID。

回答

0

我使用SaveOrUpdateCopy解決了這個問題。

這種方法唯一的事情就是我需要在調用SaveOrUpdateCopy之前爲ItemAttribute對象分配一個ID。