J'ai la structure de base de données suivante et j'ai besoin de créer les fichiers de mappage nHibernate pertinents. Le problème que j'ai est un-un, plusieurs-un et mappings de sac. Mes données de cartographie actuelles sont également ci-dessous, toute aide est appréciée pour le comprendre.Mappage de la structure de la base de données aux fichiers de mappage 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>
Je pense que vous avez les concepts mélangés. FABMatrixData doit avoir un nombre plusieurs à un pour FABType, pas un pour un. Et FABType devrait n'en avoir aucun, ou un sac inverse de FABMatrixData, pas many-to-one. –
Peu pertinent, mais pourquoi ne pas utiliser Fluent NHibernate? Il serait plus facile de mapper car il est validé à la compilation. Tout ce qui précède peut être facilement mappé en utilisant FNH. Si vous avez besoin d'aide sur FNH faites le moi savoir. –