Je suis nouveau chez Nhibernate et j'utilise Nhibernate 2.1.0 RC1. En C# je les classes suivantes:Aide nécessaire pour l'établissement Nhibernate (Parent/Enfant relation)
public class Application
{
public virtual int Id { get; set; }
public virtual Applicant Applicant { get; set; }
}
public class Applicant
{
public virtual int Id { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual IList<Application> Applications { get; set; } //maybe i should use set to eliminate duplicates
}
Et je le schéma de base de données suivante dans SQL Server 2005:
Applications table
{
ApplicationId int PK IDENTITY NOTNULL
FK_ApplicantId int FK NOTNULL
}
Applicants table
{
ApplicantId int PK IDENTITY NOTNULL
FirstName string NOTNULL
LastName string NOTNULL
}
Et je le fichier de mappage NHibernate suivant:
je dois mise en correspondance bidirectionnelle:
- 1 demandeur peut avoir> 1 application
- 1 application appartient à 1 demandeur
Je ne sais pas comment la carte collection d'applications à Demandeur. S'il vous plaît aider. Merci! Je n'utilise pas Fluent Nhibernate car il ne semble pas encore prendre en charge Nhibernate 2.1.0 RC1.
mise à jour (la version de travail):
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="HelloWorld"
namespace="HelloWorld">
<class name="Application" table="Applications">
<id name="Id" column="ApplicationID" />
<property name="Reference" />
<many-to-one name="Applicant" column="ApplicantID" not-null="true"/>
</class>
<class name="Applicant" table="Applicants">
<id name="Id" column="ApplicantID" />
<property name="FirstName" column="FirstName" />
<property name="LastName" column="LastName" />
<set name="Applications" inverse="true"> <!-- good to remove this mapping -->
<key column="ApplicantID"/>
<one-to-many class="Application"/>
</set>
</class>
</hibernate-mapping>
Je voudrais également supprimer la collection d'application de l'objet demandeur pour réduire le changement de charge des milliers d'applications requérant déposée. Reason for this is here..
Voir https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html –
Je lis cela je vous remercie. Je posterai le fichier de mapping mis à jour après l'avoir fait. – Jeff