我们尝试为我们的代码首先实现EF5 MySQL项目的迁移。但是当我们在包管理器中运行update-database命令时,我们得到一个奇怪的错误:
任何人都知道为什么??
System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifest实例。 ---> System.ArgumentException:无法确定存储版本;需要有效的存储连接或版本提示。 在System.Data.SqlClient.SqlVersionUtils.GetSqlVersion(String versionHint) 在System.Data.SqlClient.SqlProviderManifest..ctor(String manifestToken) 在System.Data.SqlClient.SqlProviderServices.GetDbProviderManifest(String versionHint) 在System.Data.Common.DbProviderServices.GetProviderManifest(String manifestToken) ---内部异常堆栈跟踪结束--- 在System.Data.Common.DbProviderServices.GetProviderManifest(String manifestToken) 在System.Data.Entity.Migrations.Sql.SqlServerMigrationSqlGenerator.Generate(IEnumerable
1 migrationOperations, String providerManifestToken) at System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, XDocument targetModel, IEnumerable
1次操作,布尔降级,布尔自动) 在System.Data.Entity.Migrations.DbMigrator.ApplyMigration(DbMigration migration,DbMigration lastMigration) 在System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.ApplyMigration(DbMigration migration,DbMigration lastMigration) 在System.Data.Entity.Migrations.DbMigrator.Upgrade(IEnumerable1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable
1 pendingMigrations,String targetMigrationId,String lastMigrationId) 在System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration) 在System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update(String targetMigration) 在System.Data.Entity.Migrations.Design.ToolingFacade.UpdateRunner.RunCore() 在System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner.Run()
答案 0 :(得分:1)
尝试使用MySql.Data.MySqlClient API而不是System.Data.SqlClient。 DLL位于此处:http://dev.mysql.com/doc/refman/5.0/en/connector-net-ref-mysqlclient.html