【问题标题】:Fluent NHibernate Automapping Bi-directional relationshipsFluent NHibernate Automapping 双向关系
【发布时间】:2010-11-25 06:43:01
【问题描述】:

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

我如何告诉流利的 nhibernate 它是相同的关系?我希望我说得足够清楚。

【问题讨论】:

    标签: nhibernate fluent-nhibernate


    【解决方案1】:

    您可以使用 1.0RC 覆盖自动映射。试试 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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多