【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

问题

错误 113: 关系“R_UserInfo_UserInfoExt”中 Role“UserInfoExt”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

 

分析

UserInfo是用户信息表,UserInfoExt是用户额外信息表,UserInfo与UserInfoExt存在一对一的关系

【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

在一开始设置表关系时,经常会出现这样的问题

本来设置的每一个表都有一个自己的Id属性,UserInfoExt的UserInfoId作为外键

却报这个错

【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

 

解决

删除UserInfoExt的UserInfoId字段,让Id即作为主键又作为外键

【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

同时设置StoreGeneratedPattern属性为None

【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。

R_UserInfo_UserInfoExt的关系设置为

【EF】 错误 113: 关系“A”中 Role“B”的 Multiplicity 无效。因为 Dependent Role 属性不是键属性,Dependent Role 多重性的上限必须为 *。