gpt4 book ai didi

c# - 具有复合索引的 Nhibernate Map 映射

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:19 29 4
gpt4 key购买 nike

我是 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就好像它是一个只有一个属性 (Id) 的组件。

如果是一个实体,替换<composite-index>元素:

<map-key-many-to-many class="Identifier"
column="ShareClassIdentifier_IdentifierId"/>

关于c# - 具有复合索引的 Nhibernate Map 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2510718/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com