流利的Nhibernate无尽循环

时间:2016-06-24 12:09:10

标签: c# windows forms nhibernate fluent

没有例外。只是想知道它是不是很好。

医学地图:

    public MedicineMap()
     {
        Id(x => x.Id);
        Map(x => x.Name);
        Map(x => x.Date);
        HasManyToMany(x => x.Companies).Cascade.All();
       }

公司地图:

    public CompanyMap()
    {
        Id(x => x.Id);
        Map(x => x.CompanyName);
        HasManyToMany(x => x.Medicines).Cascade.All();
    }   

当我试图从基地获得“药物”时,它会让我无休止地回归。 像这样:

enter image description here

因此,公司中存在药物,反过来医学领域也不断提出。

1 个答案:

答案 0 :(得分:0)

每当我有多对多关系时,我总是将反向()添加到其中一个地图中,我会定义中间表的名称,以防你需要调用它。你的代码将保持这样:

public MedicineMap()
{
    Id(x => x.Id);
    Map(x => x.Name);
    Map(x => x.Date);
    HasManyToMany(x => x.Companies)
        .Cascade.All()
        .Inverse()
        .Table("MedicineCompany");
}

public CompanyMap()
{
    Id(x => x.Id);
    Map(x => x.CompanyName);
    HasManyToMany(x => x.Medicines)
        .Cascade.All()
        .Table("MedicineCompany");
}

这会解决您的问题吗?

如果没有,请在您尝试退回药物的地方分享您的代码,也许我们可以帮助您,以免无法获得无限循环。