0
ConfORM과 함께 NHibernate를 사용하여 내 도메인 엔티티를 매핑합니다.확장 클래스를 이용한 매핑
가정하면 다음과 같은 클래스 :
public class Event {
public virtual Guid Id { get; set; }
public virtual string Title { get; set; }
public virtual bool Active { get; set; }
}
public class EventA : Event {
public virtual string PropertyA { get; set; }
}
public class EventB : Event {
public virtual string PropertyB { get; set; }
}
나는 파생 클래스에서 NHibernate에 테이블 필드를 반복하지
이 필요하지만, 그림에서와 같이 기본 클래스를 사용합니다. 는 설정을 준수 내 :
var domainAssembly = typeof(Event).Assembly;
var domainEntities = from t in domainAssembly.GetTypes() where t==typeof(Event) select t;
var orm = new ObjectRelationalMapper();
orm.Patterns.Sets.Add(new UseSetWhenGenericCollectionPattern());
orm.Patterns.PoidStrategies.Add(new ConfOrm.Patterns.IdentityPoidPattern());
orm.TablePerConcreteClass(domainEntities);
var patternsAppliers = new CoolPatternsAppliersHolder(orm);
var mapper = new Mapper(orm, patternsAppliers);
[...]
문제 수에 접근하는 방법에 어떤 아이디어가? EventA에서 별도의 ID 열이 없기 때문에 nessesary
Event
-----
PK | Id
EventA
-----
PK,FK | EventId
를 만들 것이다 orm.TablePerClass(domainEntities);
와