Я только начал изучать NHibernate и следую инструкциям.На моем собственном учебном проекте я создал проблему для себя.У меня есть две таблицы:
Team:
TeamId*
Name
Match:
MatchId*
TeamAId
TeamBId
Модельные объекты:
Команда
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; }
Совпадение
public virtual int? MatchId { get; private set; }
public virtual Team TeamA { get; set; }
public virtual Team TeamB { get; set; }
И это мое отображениедля команды:
<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>
И это для матча:
<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>
Полагаю, это неправильный способ сделать это, так как я получаю сообщение об ошибке: NHibernate.LazyInitializationException: Инициализация [MyProject.Domain.Entities.Team # 1] -Не удалось инициализировать прокси - нет сеанса.
- Что-то не так с моим отображением?
- Если нет, какие-либо предложения о том, как я могу обработать ошибку?
Спасибо.