您有非常复杂的项目实体聚合设计。 我正在使用域驱动开发。 要映射entites我正在使用FluentNHibernate
这是我的域名设计
public abstract class Domain { public virtual long Id{get;set;} } public ClassA:Domain { public virtual DateTtime Time{get;set;} public virtual ClassC C1 {get;set;} public virtual IList List{get;set;} } public ClassC:Domain { public virtual string Schedule{get;set;} } public ClassD:Domain { public virtual string PropClassD{get;set;} } public ClassE:ClassD { public virtual string PropClassE{get;set;} } public ClassF:ClassD { public virtual string PropClassF{get;set;} } public ClassG:Domain { //Composite key ClassA+ClassD public virtual ClassA C1 {get;set;} public virtual ClassD C2 {get;set;} }
我尝试了不同的映射设置,但没有任何工作。我的聚合根是ClassA。
遵循ClassE和ClassF表的单一类别。
请帮助它的工作。
答案 0 :(得分:0)
当我不知道如何映射对象时,我使用Entity Developer http://www.devart.com/entitydeveloper/他们有一个免费版本,最多支持八个实体。至少可以给你一些具体案例的提示。鉴于Fluent NHibernate文档相对缺乏,这个工具也具有教育意义。您可以在此处查看此工具生成的映射示例http://www.codeproject.com/Articles/232034/Inheritance-mapping-strategies-in-Fluent-Nhibernat