NHibernate とConfORMを使用して、ドメイン エンティティをマップしています。
次のクラスを想定しています。
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 テーブル フィールドを繰り返す必要はありませんが、図のように基本クラスを使用します。
私のConFORMセットアップ:
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);
[...]
問題にアプローチする方法についてのアイデアはありますか?