簡體   English   中英

具有復合索引的Nhibernate Map映射

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM