【问题标题】:nhibernate "multi key" mapping - bank accounts/adress data for different entitiesnhibernate“多键”映射 - 不同实体的银行账户/地址数据
【发布时间】:2013-07-28 05:20:23
【问题描述】:

我正在寻找使用 nhibernate 对以下情况进行建模的正确方法:

银行账户和/或地址数据云链接到以下实体

  • 客户
  • 合同
  • 索赔 *...

它们是完全不同的,所以它云没有链接到共同的父母。

目前,我唯一的解决方案是为每个星座使用唯一的链接表:

  • bank_to_customer
  • bank_to_contract
  • ...
  • add_to_customer
  • add_to_contract

银行已映射集合,如

  • 客户
  • 合同
  • ...

address 具有相同的集合,例如

  • 客户
  • 合同
  • ...

我觉得解决搜索银行账户或街道并显示哪些实体与结果集相关联的要求很糟糕。

地址查询中“abc street”可能有四个结果,而不是需要查询所有“add_”链接表四次才能识别所有链接......

也许有更好的解决方案或问题建模?

感谢任何建议

【问题讨论】:

  • 客户/合约地址/银行账户是一对多还是多对多?
  • 多对多(也许银行账户可以减少到一对多)

标签: nhibernate database-design data-modeling


【解决方案1】:

【讨论】:

    【解决方案2】:

    使用多对任意接口

    interface IHaveContacts
    {
        ICollection<Contact> Contacts { get; }
    }
    
    class Contact
    {
        ICollection<IHaveContacts> EntitiesWithContacts { get; private set; }
    }
    

    不幸的是,FNH 似乎不支持它。单独使用 hbm.xml 进行此映射或在将映射添加到配置之前对其进行编辑。

    【讨论】:

      猜你喜欢
      • 2011-02-15
      • 2011-07-07
      • 2014-08-01
      • 2013-03-26
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多