实体框架Code First迁移文件源代码控制

12

我很直接地想问,当我运行“Add-Migration…”时,会创建3个新的迁移文件(.cs,.resx,.Designer.cs)。关于源代码控制,我应该提交哪些文件到我的仓库中,哪些文件可以忽略?我只对必要的文件感兴趣,以便在需要重建表时使用。

1个回答

12
当我运行“Add-Migration…”时,会创建3个新的迁移文件(.cs, .resx, .Designer.cs)。关于源代码控制,哪些文件应该提交到我的仓库中,哪些可以忽略?
这3个文件都是重建数据库所必需的。
- .cs文件包含Up和Down方法,分别用于升级或降级数据库。 - .resx文件包含迁移使用的元数据。它包含您使用的默认模式名称(dbo是默认值),以及在生成迁移时模型的快照。 - .Designer.cs文件存在于.resx文件的存在之下。它包含易于访问.resx文件上的设置的属性。
这3个文件都需要提交并推送到源代码控制中,并且不应该被编辑。

1
感谢您的回答以及对每个文件用途的解释。 - slashNburn
@codenotfound “它包含了...在生成迁移时模型的快照” - 为什么应该包含它?如果有两个人创建了自己的迁移,比如M1和M2。那么他们都会引用同一个父级,怎么办? - Sagid
1
现在在我的项目中,当我执行“Remove-Migration”时,实际上没有任何文件被删除,尽管应用程序快照已更改,就好像我删除了一个迁移。这太荒谬了。 - Sagid
@CodeNotFound 既然他只对重新创建表感兴趣,那么使用 DbContext.cs 添加迁移并使用 update-database 命令生成数据库怎么样? - oshan2csd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接