C# 如何使用fluent nhibernate映射此关系?

C# 如何使用fluent nhibernate映射此关系?,c#,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,我有以下数据库表: 项目表格 依赖关系包含列(Id、ProjectId、DependentProjectId)的表 在我的项目域对象上,我有以下映射,以便能够获取项目并读取其依赖项 public virtual IList<Dependency> Dependencies { get; set; } HasMany(x => x.Dependencies).AsBag().Inverse().Cascade.AllDeleteOrphan().Fetch.Selec

我有以下数据库表:

  • 项目表格
  • 依赖关系包含列(Id、ProjectId、DependentProjectId)的表
  • 在我的项目域对象上,我有以下映射,以便能够获取项目并读取其依赖项

      public virtual IList<Dependency> Dependencies { get; set; }
    
       HasMany(x => x.Dependencies).AsBag().Inverse().Cascade.AllDeleteOrphan().Fetch.Select().BatchSize(80);
    
    公共虚拟IList依赖项{get;set;}
    HasMany(x=>x.Dependencies).AsBag().Inverse().Cascade.AllDeleteOrphan().Fetch.Select().BatchSize(80);
    
    现在,我想在Project对象上创建另一个属性,以读取它是依赖项目的所有项(以查找依赖项为“我”的项目列表)


    在fluent nhibernate中进行映射的正确方法是什么?

    我认为您只需为一对多关系指定
    .KeyColumn
    ,例如

      HasMany(x => x.Dependencies)....KeyColumn("ProjectId")
    
      HasMany(x => x.DependentProjects)....KeyColumn("DependentProjectId")