使用 Entity Framework 4.1
我在 Entity Framework 中使用了以下表格
用户(UserId PK身份,UserName,密码)
Physician(PhysicianId唯一标识,UserId引用用户PK,PhysicianName)
PhysicianSite(SiteId、Location、PhysicianId FK 到 Physician 表)
问题。 Entity Framework 不允许我将 Physician 与 PhysicianSite 相关联,因为 PhysicianId 不是 Physician 表上的主键。
User 是 Physician 的基础,因为我的应用程序还有其他类型的 Users,例如 Patients。
出现以下错误
错误 2 错误 113:多重性在关系“PhysicianSitePhysician”中的角色“Physician”中无效。因为Dependent Role属性不是关键属性,所以Dependent Role的重数上限必须是*。
有人能告诉我如何在 Entity Framework 中创建与 Physician 到 PhysicianSite 的关联,而 PhysicianId 不是 Physician 表上的主键吗?
最佳答案
Entity Framework 需要外键链接到表的主键。但是, Entity Framework 的主键不必与数据库中的主键匹配。如果您告诉 EF PhysicianId 是主键,它不会去检查它是否真的是。它会很乐意接受 PhysicianId 的外键。
如果您有一些指向 PhysicianId 的外键,而另一些则指向真正的主键,那么您就不走运了,但事实并非如此。
关于c# - Entity Framework 协会 : Error Because the Dependent Role properties are not the key properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8450786/