Xer*_*eat 6 ef-migrations entity-framework-core asp.net5
我正在使用ASP.Net 5和EF7开发一个Web项目.
我已将现有数据库中的所有表导入到项目中的模型中.但是,我在迁移方面遇到了问题.
我创建了初始迁移,对特定实体进行了一些更改,根据我所做的更改创建了另一个迁移,现在想要在数据库上应用更改.
运行以下命令后:
dnx ef database update [Migration]
dnx试图对已经在数据库中的所有实体应用"初始"迁移,这会导致如下错误:
{数据库中已经有一个名为['EntityName']的对象.}
您能否就如何在现有数据库上进行迁移提出建议?
谢谢赛义德
2天后,我发现EFCore的方法不在Google和Internet中!
我的步骤如何运作?
当您有一个包含10个表的数据库并且您在大数据中有您不想清除的数据时。在此之后,您将首先在代码中创建新模型并运行到现有数据库,并且会收到错误消息“无效的对象名称“ tableName”。” 查询新表,您想创建迁移并确实将其更新到现有数据库,但是如果您运行update-database,则首次迁移将创建旧表和新表的所有查询,您将获得“已经有一个名为['EntityName'的对象])。” 用于您的初始迁移。
如何解决?
运行前注意:此代码将在Data文件夹中创建现有数据库的新上下文和模型,因此不要忘记检查项目中是否没有Data文件夹。
Scaffold-DbContext“您的连接字符串” Microsoft.EntityFrameworkCore.SqlServer -OutputDir数据
运行前注意:使用Data文件夹上下文为初始数据库创建第一次迁移(OldDataBaseContext在步骤2创建的Data文件夹内部)
Add-Migration初始-Context OldDataBaseContext
运行前注意:使用Data文件夹上下文更新数据库(OldDataBaseContext在步骤2创建的Data文件夹内部)
更新数据库的上下文OldDataBaseContext
运行前注意:为具有新数据库更改的主上下文添加迁移
添加迁移newUpdate
更新数据库
希望对您有所帮助。
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |