Я следил за превосходной статьей Бруно за однозначное сопоставление в беглом Nhibernate. Однако я столкнулся с небольшой проблемой при отображении частных объектов с ошибкой, которая не ясна. Вот мои сущности, отображение и ошибка:
Сущности
public class Student
{
public virtual String Studentid { get; set; }
public virtual Address Address { get; set; }
}
public class Address
{
private String StudentId { get; set; }
private Student Student { get; set; }
public Address(Student student)
{ Student = student; }
}
Отображение:
public StudentMap()
{
Id(x => x.Studentid).GeneratedBy.Assigned();
HasOne(x => x.Address).Cascade.All();
}
public AddressMap()
{
Id(x=> Reveal.Member<Address>("StudentId"))
.GeneratedBy.Foreign("Student");
HasOne( x=> Reveal.Member<Address,Student>("Student"))
.Constrained()
.ForeignKey();
}
Теперь, когда я пытаюсь запустить его, он выдает ошибку как:
Не удалось определить тип для: System.Linq.Expressions.Expression 1[[System.Func
2 [[CastleTest.Domain.Address, CastleTest, Версия = 1.0.0.0, Culture = нейтральный, PublicKeyToken = null], [System.Object, mscorlib, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089]], System.Core, версия = 3.5.0.0, культура = нейтральная, PublicKeyToken = b77a5c561934e089]], System.Core, версия = 3.5.0.0, культура = нейтральный, PublicKeyToken = b77a5c561934e089, для столбцов: NHibernate.Mapping.Column (Member)
Почему происходит эта ошибка?