微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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模型中手动添加公共关联.通过从数据库更新模型,不会擦除这些关联.

原文地址:https://www.jb51.cc/mssql/81615.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐