我有两个表用户和学校。每个都有主键,没有外键。我必须绑定的数据库根本没有规范化,但我仍然需要有关联。 我注意到其他一些相似的问题,但我不太明白他们在问什么,如果这是重复,那就很抱歉。
Users Table
UserId int NON NULL
School varchar NON NULL
Schools Table
SchoolId int NON NULL
SchoolName varchar NON NULL
数据如下所示:
Users Table
UserId School
1 ABC
2 ABC
Schools Table
SchoolId SchoolName
1 ABC
2 DEF
我想创建的关联在下面,关键是Schools表中的SchoolName和Users表中的School
User *--1 School
答案 0 :(得分:1)
不幸的是,这是不可能的。如果要在数据库中执行此操作,则会将SchoolName
表中的Schools
标记为唯一(通过放置唯一约束/索引),因此您将能够构建一对多关系。 EF不支持任何唯一键,因为您无法在数据库中定义此类关联(它不会在您的模型中反映)或在模型中直接通过引用约束来定义。
使用EF时,良好的数据库设计仍然是关键。
答案 1 :(得分:0)
作为对有类似问题的人的一个FYI,Linq to SQL确实具有这种能力,它似乎工作正常。