2
我有以下數據庫結構,並且需要創建相關的nHibernate映射文件。我遇到的問題是一對一,多對一和包映射。我目前的地圖數據也在下面,任何幫助表示讚賞。將數據庫結構映射到nHibernate映射文件
FABMatrix
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="FABMatrix" table="FABMatrix" lazy="true">
<cache usage="nonstrict-read-write"/>
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="Name" column="ProductName"/>
<bag name="FABData" table="FABMatrix_to_FABMatrixData">
<key column="FABMatrixId"/>
<many-to-many class="FABMatrixData" column="FABDataId"/>
</bag>
<property name="DateCreated" column="DateCreated"/>
<property name="DateModified" column="DateModified"/>
</class>
</hibernate-mapping>
FABMatrixData
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="FabMatrixData" table="FABMatrixData" lazy="true">
<cache usage="nonstrict-read-write"/>
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="Text" column="Text"/>
<one-to-one name="Type" class="FABType"></one-to-one>
<property name="DateCreated" column="DateCreated"/>
<property name="DateModified" column="DateModified"/>
</class>
</hibernate-mapping>
FABType
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="FABType" table="FABTypes" lazy="true">
<cache usage="nonstrict-read-write"/>
<id name="id" column="ID">
<generator class="identity"/>
</id>
<property name="Name" column="Name"/>
<many-to-one name="Data" class="FABMatrixData" column="FABTypeId">
</many-to-one>
<property name="DateCreated" column="DateCreated"/>
<property name="DateModified" column="DateModified"/>
</class>
</hibernate-mapping>
我覺得你有混淆的概念。 FABMatrixData應該與FABType多對一,而不是一對一。 FABType應該沒有,或者FABMatrixData的反包,不是多對一。 – 2010-11-15 03:21:31
稍微無關緊要,但爲什麼不使用Fluent NHibernate?由於它在編譯時被驗證,因此映射將更容易。以上所有內容都可以使用FNH輕鬆映射。如果您需要FNH幫助,請告訴我。 – 2011-06-16 12:27:56