编程语言
首页 > 编程语言> > c# – 实体框架核心:如果我们永远不会恢复迁移,删除Migration.Designer.cs是否安全?

c# – 实体框架核心:如果我们永远不会恢复迁移,删除Migration.Designer.cs是否安全?

作者:互联网

我们有一个包含~200个表的数据库模式.
为每次迁移创建的模型快照(Migration.Designer.cs)是~20K行.因此,进行大量迁移确实会降低我们对CI的构建速度(构建解决方案的约30次迁移需要6分钟进行迁移,或者4分钟不进行迁移).

那么,问题是:删除旧迁移的模型快照是否安全(我们知道我们永远不会恢复)?模型快照是否用于除Revert-Migration之外的任何其他内容?

解决方法:

Are model snapshots used for anything else except Revert-Migration?

是.有一些边缘情况需要它.在SQL Server上,这些情况是:

>当缩小列或更改计算表达式并且需要重建索引时,AlterColumn
>当索引是唯一的并且引用可空列时,在内存优化表上创建CreateIndex

因此大多数情况下删除它可能是安全的,但请在测试之后测试您的迁移是否仍然有效.

标签:c,ef-migrations,entity-framework-core
来源: https://codeday.me/bug/20190522/1153540.html