Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 实体框架不识别外键_Sql_Entity Framework - Fatal编程技术网

Sql 实体框架不识别外键

Sql 实体框架不识别外键,sql,entity-framework,Sql,Entity Framework,以下是我的表格结构: 人 地址 人物住址 正如你所看到的,人和地址之间没有关系。当我将这3个表添加到EF6.0中时,它并没有添加PersonalAddress表,而是添加了Person和Address之间的关系。我深感困惑。EF正在做你想做的事情。在EF中,对象之间存在关系,而不是模式。人称和地址之间的宾语关系可以在不需要第三个宾语的情况下完成。这降低了复杂性,使代码更易于管理。EF将根据需要将关系来回转换为模式。这正是它在EF中的工作方式,这就是您在objectsHow中尝试建立的关系。是否将

以下是我的表格结构:

地址

人物住址


正如你所看到的,人和地址之间没有关系。当我将这3个表添加到EF6.0中时,它并没有添加PersonalAddress表,而是添加了Person和Address之间的关系。我深感困惑。

EF正在做你想做的事情。在EF中,对象之间存在关系,而不是模式。人称和地址之间的宾语关系可以在不需要第三个宾语的情况下完成。这降低了复杂性,使代码更易于管理。EF将根据需要将关系来回转换为模式。

这正是它在EF中的工作方式,这就是您在objectsHow中尝试建立的关系。是否将此添加到实体框架?您是否先使用代码?如果是这样,请给我们看看你的课程!通常,EF将对一个拥有多个地址的人的概念模型进行建模,并且一个地址可能属于多个人——但它将隐藏数据库中如何处理该地址的详细信息。不用担心@谢谢你。我使用的是数据库优先模型。所以EF聪明地假设地址可以跨人共享,一个人可以有多个地址。我想它会添加我告诉它添加的所有表,并在EDMX图表中显示。这太酷了。有相关文件吗?谢谢我将使用它生成的内容,看看是否满足我的需要。如果您有一个数据库模型,您应该能够右键单击您的设计图面,然后从模型生成数据库。您将获得用于生成数据库的SQL—我相信您也会看到其中的链接表!文档:使用MSDN和通常的Microsoft Dev-Cenver for EF-这是您能找到的最好的文档
PersonID int
AddressId int
Address varchar
PersonID int primary key references Person.PersonID
AddressID int primary key references Address.AddressID