2011-02-08 2 views
0

다음 매핑 구성을 어떻게 해결해야합니까? TestUnit 매핑을 테스트 할 때C# 유창한 nhibernate

public abstract class RepositoryEntity 
{ 
    public virtual int Id { get; set; } 
} 

public class Descriptor : RepositoryEntity 
{ 
    public virtual String Name { get; set; } 
    public virtual DateTime Timestamp { get; set; } 
} 

public class Proxy<TDescriptor> : RepositoryEntity 
{ 
    public virtual TDescriptor Descriptor { get; set; } 
    public virtual Byte[] SerializedValue { get; set; } 
}; 

public class TestUnit : Proxy<Descriptor> 
{ 

}; 

나는 문제를받을 - 그것이 일반적인 매개 변수으로 항목을지도하는 것은 불가능했다. 이전에 지정된 모든 클래스를 매핑하려고하면 이런 일이 발생합니다.

Proxy<T>을 제외하고 모든 것을 매핑하려고하면 no persister for the 'TestUnit'이라는 메시지가 나타납니다.

TestUnitProxy<Descriptor>에서 상속하지 않으면 매핑 테스트 이 올바르게 작동합니다..


Fluent NHibernate 일부 콘크리트 Class<T> 템플릿에서 상속 유형을 오토 할 가능성이 있습니까? 이 엔티티 매핑을 도와 주시겠습니까?

답변

0

나는 Fluent와 Auto 매핑의 조합을 사용했습니다.

제네릭에는 유창한 매핑을 사용해야합니다.

 Configuration = Fluently.Configure() 
      .Database(SQLiteConfiguration.Standard.ShowSql().InMemory) 
      .Mappings(x => 
         { 
          x.FluentMappings.AddFromAssemblyOf<RepositoryEntity>(); 
          x.AutoMappings.Add(autoPersistenceModel); 
         }); 
관련 문제