c# - 在不使 LINQ/ADO.NET Entity Framework + SQL Server 崩溃的情况下,可以安全地进行哪些架构更改
问题描述
我正在使用 LINQ/ADO.NET Entity Framework 连接到 SQL Server 2016,并且我想在生产中对我的数据库进行架构更改。进行这些更改的方式是:
- 更改数据库中的架构
- 部署利用它的软件的新版本
我要避免的是在 1 完成后但在 2 发生之前的停机时间。
过去,有时我会遇到更改架构会导致 ADO.NET Entity Framework/LINQ 死掉的问题。它似乎在启动时进行了某种类型的模式验证。过去,我相信当我从表中删除未使用的字段时会发生这种情况。
所以我的问题是,对数据库进行哪些类型的架构更改是“安全的”和“不安全的”,这样它们才不会导致 ADO.NET Entity Framework 开始抛出错误?我可以在保证安全的情况下添加尽可能多的字段和表格吗?
解决方案
假设您不使用 EF 迁移,EF 将不会验证或修改数据库架构。并且 EF 总是生成具有显式列名的查询。只要您不修改 EF 期望的表名和列名,或者使任何 EF 实体的关键属性不唯一 EF 应该没问题。
推荐阅读
- serial-port - 控制台和硬件问题上的 Raspberry Pi 3b+ 串行通信
- ionic-framework - 如何在 Ionic Creator 中实现和使用 cordova 插件对话框
- javascript - 在 contenteditable div 中的 carret 位置之前或之后返回单词的范围对象
- java - 当类实际实现接口时,instanceof 返回 false
- java - 使用 Java 的 Mac OS 推送通知
- c# - 忽略来自-TagsFromFile 参数的 EXIF 方向标记
- php - apache2页面不读取php
- python - 如何获取一个数组中包含在另一个数组中的值的所有索引?
- powershell - 如何使用powershell以pdf格式保存任何powershell脚本的输出?
- sqoop - sqoop 导入到 hdfs 中的新行字符处理