Nhibernate 复杂实体聚合

Nhibernate 复杂实体聚合,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,项目中的实体聚合设计非常复杂。 我使用的是域驱动开发。 要映射实体,我使用FluentNHibernate 这是我的域名设计 public abstract class Domain { public virtual long Id{get;set;} } public ClassA:Domain { public virtual DateTtime Time{get;set;} public virtual Cl

项目中的实体聚合设计非常复杂。 我使用的是域驱动开发。 要映射实体,我使用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;} } 公共抽象类域 { 公共虚拟长Id{get;set;} } 公共类别A:域 { 公共虚拟日期时间{get;set;} 公共虚拟类C1{get;set;} 公共虚拟IList列表{get;set;} } 公共类C:域 { 公共虚拟字符串计划{get;set;} } 公共类别D:域 { 公共虚拟字符串PropClassD{get;set;} } 公共类:D类 { 公共虚拟字符串PropClassE{get;set;} } 公共类别F:ClassD { 公共虚拟字符串PropClassF{get;set;} } 公共类别G:域 { //组合键ClassA+ClassD 公共虚拟类C1{get;set;} 公共虚拟类C2{get;set;} } 我尝试了不同的映射设置,但没有任何效果。我的聚合根是ClassA

下面是ClassE和ClassF表的单类继承


请帮我把它弄好

当我不知道如何映射我使用Entity Developer的对象时,他们有一个支持多达八个实体的免费版本。至少可以在具体案例中给你一些提示。鉴于相对缺乏流利的NHibernate文档,此工具也具有教育意义。您可以在此处看到此工具生成的映射示例

请不要在此处尝试销售产品。我不尝试销售任何产品。这个免费工具将帮助您学习如何使用流利的NHibernate。但是,如果你想让别人帮你抓鱼,那就等到别人回答或结束这个问题。