似乎我不允许发布图片,所以让我描述图片。它是一个SQL表格图,显示了4个表之间的关系。表格是:
两个主要表格是People和PhoneNumbers。还有一个PhoneNumberTypes描述PhoneNumber的类型(Home,Work等)。
PeoplePhoneNumbers表用作People和PhoneNumbers之间的“多对多”关系表。但是它也连接到PhoneNumberTypes来描述关系。
我一直在试图弄清楚如何处理此Entity Framework,因为EF不允许您向Association(多对多)表添加其他信息。
除了PhoneNumberType信息,我还发现他们是我需要在关联表中记录的其他数据,如“开始日期”,“结束日期”等。
到目前为止,我提出的唯一解决方案是在EF中创建一个实体,它将PhoneNumberTypes,PhoneNumbers和PeoplePhoneNumbers中的字段组合到一个实体中。然后使用SQL存储过程对其进行CRUD操作。
我更喜欢更加以EF为中心的解决方案。有人知道吗?
答案 0 :(得分:0)
不应将PhoneNumberTypes链接到PeoplePhoneNumbers。让PeoplePhoneNumbers成为现实,只有一个联结表。 PhoneNumberTypes应链接到PhoneNumbers。 EF应该能够按照惯例创建此设置。描述电话号码的其他信息也应与PhoneNumbers相关联。此设计遵循更多领域驱动设计(DDD)原则,并且还生成更好的数据库设计。