我在尝试映射包含guids集合的此对象时遇到问题。我有映射工作没有错误,但我不断在OrganizationAdvertistments表中的组织ID中插入空guid。我想知道如何正确映射这个集合?
<?xml version="1.0" encoding="utf-8" ?>
<class name="Advertisement" table="Advertisement" lazy="false">
<id name="Id">
<generator class="guid"></generator>
</id>
<property name="DateStart"/>
<property name="DateExpired"/>
<property name="Title"/>
<property name="Body"/>
<set name="OrganzationIds" table="OrganizationAdvertisements" lazy="true">
<key>
<column name="AdvertisementId"></column>
</key>
<element column="OrganizationId" type="Guid" />
</set>
</class>
答案 0 :(得分:2)
你会在广告和组织之间建立多对多的关系吗?如果是,你还有另一个类:组织并在这两个类之间设置多对多关系,并且不需要映射OrganzationIds。你的课程会是这样的:
class Advertisement
{
//other properties
public virtual ISet<Organization> Organizations {ge;set}
}
和你的地图:
<class name="Advertisement" table="Advertisement" lazy="false">
<id name="Id">
<generator class="guid"></generator>
</id>
<property name="DateStart"/>
<property name="DateExpired"/>
<property name="Title"/>
<property name="Body"/>
<set name="Organizations"
table="OrganizationAdvertisements"
lazy="true">
<key column="AdvertisementId" />
<many-to-many class="Namespace.Organization"
column="OrganizationID" />
</set>
</class>