Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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 server 实体框架/SQL Server许多外键_Sql Server_Entity Framework_Entity Framework 4 - Fatal编程技术网

Sql server 实体框架/SQL Server许多外键

Sql server 实体框架/SQL Server许多外键,sql-server,entity-framework,entity-framework-4,Sql Server,Entity Framework,Entity Framework 4,在使用实体框架和SQLServer时,我试图决定表的设计 我有一个与许多其他实体(大约15个)相关的实体(地址) 我可以在DB中创建15个可为null的FK列,也可以创建一个未绑定列(EntityPrimaryKey)和一个EntityType列来跟踪EntityPrimaryKey列值的用途 这两种不同的设计可能会有什么问题?关于哪个更好的意见?始终使用可用于强制引用完整性的外键real “一个键和一个列来定义键的类型”一开始听起来可能是个好主意——但最终,由于您无法建立任何引用完整性,因此它

在使用实体框架和SQLServer时,我试图决定表的设计

我有一个与许多其他实体(大约15个)相关的实体(地址)

我可以在DB中创建15个可为null的FK列,也可以创建一个未绑定列(EntityPrimaryKey)和一个EntityType列来跟踪EntityPrimaryKey列值的用途


这两种不同的设计可能会有什么问题?关于哪个更好的意见?

始终使用可用于强制引用完整性的外键real

“一个键和一个列来定义键的类型”一开始听起来可能是个好主意——但最终,由于您无法建立任何引用完整性,因此它实际上毫无意义


随着时间的推移,所有不再被引用的表中都会出现“僵尸”子行。数据的质量和完整性对我来说是一个好的数据库设计最重要的方面——始终确保您的数据完整性是铁的——其他任何东西都比这一要求更重要

我也有同样的问题。答案对我来说很重要:)基本上我同意你的观点,但是如果他使用触发器(在大多数情况下这是个坏主意),他当然可以解决你提到的问题,所以他不一定会有僵尸记录。否则,我和你的观点相同。15个可为null的FK列可能会有什么样的性能/锁定影响?而且我无论如何都需要使用触发器来确保不会同时填充超过1个FK列…@JeffN825:如果只设置了这15个可为null的FK列中的一个,那么实际上没有性能或存储开销期待着汉克斯。有人提到了死锁的可能性。。。。我不知道这将如何发生……但我只是想把它扔出去……这有什么意义吗?