我有一个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。
任何帮助都非常受欢迎。
提前致谢
答案 0 :(得分:2)
您需要按照以下步骤来克服上述问题。
第1步:使用NuGet package
与remove
和install
相关的套餐。这非常重要。
如果在上述步骤后它无法正常工作,则必须按照以下步骤进行操作。
第1步:备份project
和SQL db
并将其保存在安全的地方。
第2步:之后,您的应用必须delete
data migration scripts
。
第3步:同时删除SQL db
。
第4步:重新创建所有Migration scripts again
,然后再针对SQL server
运行。
注意:您需要执行上述步骤b'cos似乎EF
将provider details
保留在db migration scripts
上。