如何解决导入的数据库-添加迁移-已存在的表的添加表列尝试创建该表
我已通过.bacpac将数据库导入本地。在C#解决方案项目中,我在现有表(实体)中添加了一列。解决方案中的连接字符串设置为本地计算机上的数据库。该数据库具有表“ _EFMigrationHistory”。
当我尝试添加迁移并更新数据库时,为迁移生成的代码会尝试在本地数据库的DBContext下创建表。
然后我说错了
“数据库中已经有一个名为'TableName'的对象。”
在迁移代码中,看起来它试图在数据库中创建已经可用的表。 但是我只需要更新代码中我在DBSet中应用的列更改。我不想丢失本地数据库中的数据。 如何仅推送表列更新而不重新创建所有表? 希望对此有所帮助
解决方法
注释掉列更改(以后您实际要迁移的内容)并通过Powershell运行以下命令
Add-Migration SnapshotCreate
由于此迁移仅用于更新ModelSnapshot.cs文件,因此只能删除迁移文件(类似于{Date}SnapshotCreate.cs
)。
接下来,取消注释列更改,然后像平常一样添加迁移。这只会拉入该列的Up
和Down
更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。