sql-server – 在数据库中丢失外键是否对EF生成的sql有影响?

前端之家收集整理的这篇文章主要介绍了sql-server – 在数据库中丢失外键是否对EF生成的sql有影响?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用数据库优先的ASP.NET MVC应用程序.查看数据库外键非常不一致,基本上只有在创建表的sql脚本中指定了它们.在大多数情况下,他们不在那里.

然而,在edmx模型中,我可以看到它知道外键,即它已经正确地识别了导航属性.

我的问题是,实际数据库中缺少的外键是否对Entity Framework发出的sql有影响?我的意思是对业绩的负面影响.

我真的不明白是否重要.

只是为了澄清,在数据库中我正在扩展表,并寻找指示外键的红色键.我也在查看子文件夹:“钥匙”.

解决方法

Negative impact on performance.

我可以想到外键存在的两个效果.

> A tiny negative impact on inserts and updates,因为钥匙必须被检查.然而,与一个完整的数据库往返中发生的一切相比,这个效果完全可以忽略不计.绝对没有理由不使用它们.它永远不会超过数据完整性的好处.
>当外键设置有级联删除和更新时,性能提升是巨大的.

总之,没有理由故意省略外键.

当然,遗产在一夜之间不能总是被撤回.如果数据库模式有任何变化的空间,我会去做.如果没有,您可以考虑在edmx模型中手动添加公共关联.通过从数据库更新模型,不会擦除这些关联.

猜你在找的MsSQL相关文章