[英]Nhibernate Map mapping with Composite Index
我是NHibernate的新手,正在遇到嘗試為IDictionary建模的問題。
我的字典的鍵是一個復雜的類型,稱為“標識符”,而對應的“值”是字符串類型,例如IDictionary<Identifier,string>.
(很抱歉,如果實體名稱“ Identifier”使這個令人困惑,它是一個域術語,我同意了:))
我的映射如下:
<map name="Identifiers" table="ShareClassIdentifier" lazy="false" >
<key>
<column name="ShareClassIdentifier_ShareClassId" />
</key>
<composite-index class="Identifier">
<key-property column="ShareClassIdentifier_IdentifierId" name="Id" />
</composite-index>
<element column="ShareClassIdentifier_Value" type="System.String" />
</map>
在NHibernate創建我的字典並填充鍵值的意義上,這很好用。 但是,我的標識符實體沒有被填充。 創建了一個標識符實體,但缺少其所有屬性(其ID除外)。
使用NHibernate Profiler,我可以看到NHibernate不在我的Identifier表上聯接,但是我不知道如何在上面的映射中指定這個聯接?
提前致謝
您將Identifier
映射到那里,就好像它是一個只有一個屬性(Id)的組件一樣。
如果是實體,則將<composite-index>
元素替換為:
<map-key-many-to-many class="Identifier"
column="ShareClassIdentifier_IdentifierId"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.