gpt4 book ai didi

nhibernate - Fluent NHibernate 自动映射双向关系

转载 作者:行者123 更新时间:2023-12-04 01:29:39 25 4
gpt4 key购买 nike

我正在尝试使用 fluent nhibernate 自动映射我的领域模型。在这种特殊情况下,我需要映射双向一对多关系。问题是它不会自动将其实现为双向关系,而是完全实现为两种不同的关系,并为每个关系创建一个单独的外键。

我如何告诉 fluent nhibernate 这是相同的关系?我希望我说得够清楚了。

最佳答案

您可以使用 1.0RC 覆盖自动 map 。试试这个来自 SharpArchitecture 从 Employee 到 Territory 的双向映射的例子,其中 Territory 是关系的倒数:

   public class EmployeeMap : IAutoMappingOverride<Employee>
{
public void Override(AutoMap<Employee> mapping) {

//... other omitted mappings...

mapping.HasManyToMany<Territory>(x => x.Territories)
.WithTableName("EmployeeTerritories")
.WithParentKeyColumn("EmployeeID")
.WithChildKeyColumn("TerritoryID")
.AsBag();
}
}

public class TerritoryMap : IAutoMappingOverride<Territory>
{
public void Override(AutoMap<Territory> mapping) {

//... other omitted mappings...

mapping.HasManyToMany<Employee>(x => x.Employees)
.WithTableName("EmployeeTerritories")
.Inverse()
.WithParentKeyColumn("TerritoryID")
.WithChildKeyColumn("EmployeeID")
.AsBag();
}
}

关于nhibernate - Fluent NHibernate 自动映射双向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1373132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com