2013-10-30 191 views

回答

4

我会说,你的问题是非常合理的。看看这个文档部分:Chapter 24. Best Practices。摘录:

不要使用复杂的关联映射:

实际测试的情况下真正的许多-to-many关联是罕见的。大多数 的时候你需要额外的信息存储在“链接 表”中。在这种情况下,使用两个一对多关联到中间链接类会更好。实际上,大多数协会 是一对多和多对一的。出于这个原因,在使用任何其他关联风格时,您应谨慎行事 。

方式,我们正在处理的是,通过引入配对对象。所以,如果有一个Employee有很多Contacts,我们可以有EmployeeContact。这样我们就可以收获不少,因为我们可以有更多/新属性(IsMain,IsActive等)

在这种情况下充实EmployeeContact,两侧的映射是

  • 员工已one-to-many (集)EmployeeContacts
  • 联系具有one-to-many(套)EmployeeContacts
  • EmployeContact有many-to-one(关系)员工
  • EmployeContact有many-to-one(关系)联系

所以,在年底,映射是平常的,但我们可以使用子查询等

注搜索员工或联系方式:在这种情况下是合适的,如果配对表具有其自己的替代关键字,例如EmployeeContactId。它可以随时添加。带身份证...