Sql server 实体框架6-包含附加信息的多对多表

Sql server 实体框架6-包含附加信息的多对多表,sql-server,entity-framework,many-to-one,entity-framework-6,Sql Server,Entity Framework,Many To One,Entity Framework 6,似乎我不允许发布图片,所以让我描述一下图片。这是一个SQL表关系图,显示了4个表之间的关系。各表如下: 人 身份证件 名字 姓氏 电话号码 身份证件 数字 电话号码类型 身份证件 名称 描述 电话号码 拟人 PhoneNumberTypeId 电话号码 两个主要的表格是人物和电话号码。还有一个PhoneNumberTypes,描述家庭、工作等电话号码的类型 PeoplePhoneNumber表用作人员和电话号码之间的多对多关系表。然而,它也连接到PhoneNumberTypes来描述这种关系 我

似乎我不允许发布图片,所以让我描述一下图片。这是一个SQL表关系图,显示了4个表之间的关系。各表如下:

人 身份证件 名字 姓氏 电话号码 身份证件 数字 电话号码类型 身份证件 名称 描述 电话号码 拟人 PhoneNumberTypeId 电话号码 两个主要的表格是人物和电话号码。还有一个PhoneNumberTypes,描述家庭、工作等电话号码的类型

PeoplePhoneNumber表用作人员和电话号码之间的多对多关系表。然而,它也连接到PhoneNumberTypes来描述这种关系

我一直在试图弄清楚如何处理这个实体框架,因为EF不允许您向AssociationMany to Many表添加额外的信息

除了PhoneNumberType信息,我还发现它们是我需要记录在关联表中的附加数据,如开始日期、结束日期等

到目前为止,我提出的唯一解决方案是在EF中创建一个实体,将PhoneNumberTypes、PhoneNumber和PeoplePhoneNumber中的字段组合成一个实体。然后使用SQL存储过程对其执行CRUD操作


我更喜欢以EF为中心的解决方案。有人知道吗?

电话号码类型不应链接到PeoplePhoneNumber。让PeoplePhoneNumber保持原样,只作为一个连接表。PhoneNumber类型应链接到PhoneNumber。EF应该能够按照约定创建此设置。描述电话号码的其他信息也应链接到电话号码之外。此设计遵循更多领域驱动的设计DDD原则,并生成更好的数据库设计