如何使用流畅的nhibernate来映射这种关系?

时间:2014-01-13 13:12:17

标签: c# nhibernate fluent-nhibernate fluent-nhibernate-mapping

我有以下数据库表:

  1. 项目
  2. 带有列的
  3. 依赖关系表(Id,ProjectId,DependentProjectId)
  4. 在我的Project域对象上,我有以下映射,可以获取项目并读取其依赖项

      public virtual IList<Dependency> Dependencies { get; set; }
    
       HasMany(x => x.Dependencies).AsBag().Inverse().Cascade.AllDeleteOrphan().Fetch.Select().BatchSize(80);
    

    我现在想要在Project对象上创建另一个属性来读取它是依赖项目的所有项目(找出具有“我”作为依赖项的项目列表。

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

1 个答案:

答案 0 :(得分:1)

我会说你只需要为一对多关系指定.KeyColumn,例如。

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

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