C# 使用NHibernate元素时如何防止记录重复?
我们有一个C# 使用NHibernate元素时如何防止记录重复?,c#,nhibernate,enums,C#,Nhibernate,Enums,我们有一个RealEstateFile实体,它有一个用法列表,用法是Enum,因此我们必须将它们映射为一个元素,如下所示: <bag cascade="all-delete-orphan" fetch="join" lazy="false" name="Usage"> <key> <column name="RealEstateFile_id" /> </key> <element type="DataDefinition
RealEstateFile
实体,它有一个用法列表,用法是Enum
,因此我们必须将它们映射为一个元素,如下所示:
<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
)
我想知道我如何定义一个元素来解决元素的重复问题?如果集合用法
应该只包含唯一的元素,并且没有订购要求,然后,应该将集合键入并映射为一个ISet
如此简单但却如此容易忘记:)