Je viens tout juste d'apprendre NHibernate, et je suis les tutoriels suivants. Sur mon propre projet d'apprentissage, j'ai fait un problème pour moi-même. J'ai deux tables:Problème de mappage NHibernate - Impossible d'initialiser le proxy - pas de session
Team:
TeamId*
Name
Match:
MatchId*
TeamAId
TeamBId
Les entités du modèle sont:
équipe
public virtual int? TeamId { get; private set; }
public virtual string Name { get; set; }
public virtual IList<Match> HomeMatches { get; set; }
public virtual IList<Match> AwayMatches { get; set; }
match
public virtual int? MatchId { get; private set; }
public virtual Team TeamA { get; set; }
public virtual Team TeamB { get; set; }
Et voici ma correspondance pour l'équipe:
<property name="Name" type="string">
<column name="Name" sql-type="nvarchar" not-null="true"/>
</property>
<bag name="HomeMatches" inverse="true" cascade="all-delete-orphan">
<key column="TeamAId" />
<one-to-many class="Match"/>
</bag>
<bag name="AwayMatches" inverse="true" cascade="all-delete-orphan">
<key column="TeamBId" />
<one-to-many class="Match"/>
</bag>
Et ceci est pour Match:
<many-to-one name="TeamA" class="Team">
<column name="TeamAId" sql-type="int" not-null="true" />
</many-to-one>
<many-to-one name="TeamB" class="Team">
<column name="TeamBId" sql-type="int" not-null="true" />
</many-to-one>
Je suppose que ce n'est pas la bonne façon de le faire, puisque je reçois un message d'erreur: NHibernate.LazyInitializationException: Initialiser [MyProject.Domain.Entities.Team # 1] -Could ne peut pas initialiser proxy - aucune session.
- Y at-il un problème avec ma cartographie?
- Si non, aucune suggestion sur la façon dont je peux gérer l'erreur?
Merci.
Cela ne ressemble pas à un problème de mappage, mais à un problème d'élimination ou de fermeture d'une session trop tôt. – Paco