加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:44:20 所属栏目:MsSql教程 来源:网络整理
导读:我正在使用数据库优先的ASP.NET MVC应用程序.查看数据库外键非常不一致,基本上只有在创建表的SQL脚本中指定了它们.在大多数情况下,他们不在那里. 然而,在edmx模型中,我可以看到它知道外键,即它已经正确地识别了导航属性. 我的问题是,实际数据库中缺少的外键是
我正在使用数据库优先的ASP.NET MVC应用程序.查看数据库外键非常不一致,基本上只有在创建表的SQL脚本中指定了它们.在大多数情况下,他们不在那里.

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

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

我真的不明白是否重要.

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

解决方法

Negative impact on performance.

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读