EF Code First Mysql to SQL Server

时间:2016-09-21 00:03:03

标签: mysql sql-server entity-framework

我有一个MVC 5应用程序,我首先配置为使用Mysql,但现在希望它使用SQL Server。

我的应用首先使用代码和迁移来生成数据库。

在我更改了所有必需的配置后,我尝试从Package管理控制台运行Update-Database,但我一直收到此错误:

  

System.Data.Entity.Core.MetadataException:指定的架构不是   有效。错误:(0,0):错误0152:找不到实体框架提供程序   对于具有不变名称“MySql.Data.MySqlClient”的ADO.NET提供程序。   确保提供程序已在“entityFramework”部分中注册   应用程序配置文件。看到   http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。

创建数据库后会出现此错误。当我运行应用程序时它也会出现,因为它在那个时刻检查是否有任何迁移要做。

即使所有提供商都指向SQL Server,它仍会尝试使用MySQL。

任何帮助都非常受欢迎。

提前致谢

1 个答案:

答案 0 :(得分:2)

您需要按照以下步骤来克服上述问题。

第1步:使用NuGet packageremoveinstall相关的套餐。这非常重要。

如果在上述步骤后它无法正常工作,则必须按照以下步骤进行操作。

第1步:备份projectSQL db并将其保存在安全的地方。

第2步:之后,您的应用必须delete data migration scripts

第3步:同时删除SQL db

第4步:重新创建所有Migration scripts again,然后再针对SQL server运行。

注意:您需要执行上述步骤b'cos似乎EFprovider details保留在db migration scripts上。