我们有一个RealEstateFile
实体,其中包含一些用法和用法列表 Enum
,因此我们必须将它们映射为Element
,如下所示:< / p>
<bag cascade="all-delete-orphan" fetch="join" lazy="false" name="Usage">
<key>
<column name="RealEstateFile_id" />
</key>
<element type="DataDefinition.Enum.RealEstateFileEnums.Usages,
DataDefinition, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<column name="Usages" />
</element>
</bag>
现在每次运行查询时,每个查询记录都会获得一次使用,例如,如果文件只定义了一个用法,我们运行一个返回两个记录的查询NHibernate
返回一个有两个用法的文件实际上是一样的。
我知道发生这种情况是因为NHibernate
无法找出Enum
类型的相等性(该表没有Id
)。
我想知道如何定义元素来解决Elements
的重复问题?
答案 0 :(得分:2)
如果集合Usage
应该只包含唯一元素,并且没有排序要求,那么应该键入集合并将其映射为 ISet<T>
。