それぞれ 2 つのインターフェイス IVisita と ICliente を実装する 2 つのエンティティ Visita と Cliente があります。IVisita には ICliente への参照が含まれています。このマップを構成するにはどうすればよいですか?
public class Visita : IVisita
{
public virtual int Id { get; protected set; }
public virtual ICliente Cliente { get; set; }
}
public class VisiteMap : ClassMap<Domain.Visita>
{
public VisiteMap()
{
Table("Visite");
Id(x => x.Id);
References(x => x.Cliente)
.Class(typeof(Domain.Cliente))
.Not.Nullable();
}
}
テストが失敗し、「プロパティ 'Cliente' のタイプは 'Vendor.Domain.Cliente' であると予想されていましたが、'Vendor.Domain.ICliente' を取得しました」という例外が発生しました。
[TestMethod]
public void VisitePersistence()
{
var sessionFactory = Vendor.Persistenza.Database.CreateSessionFactory(true);
using (var session = sessionFactory.OpenSession())
{
var cliente = new Cliente() { ... };
using (var tran = session.BeginTransaction())
{
session.SaveOrUpdate(cliente);
tran.Commit();
}
new PersistenceSpecification<Visita>(session)
.CheckReference(x=> x.Cliente, cliente)
.VerifyTheMappings();
}
}