0

我们尝试为我们的代码优先 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) at System.Data.Entity.Migrations.Sql.SqlServerMigrationSqlGenerator.Generate(IEnumerable1 migrationOperations, String providerManifestToken) at System.Data.Entity.Migrations.DbMigrator.ExecuteOperations(String migrationId, XDocument targetModel, IEnumerable1 操作,布尔降级,布尔自动)在 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(IEnumerable 1 pendingMigrations, String targetMigrationId, String lastMigrationId) at System.Data.Entity.Migrations.Infrastructure.MigratorLoggingDecorator.Upgrade(IEnumerable1 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()

4

1 回答 1

1

尝试使用 MySql.Data.MySqlClient API 而不是 System.Data.SqlClient。DLL 位于此处: http ://dev.mysql.com/doc/refman/5.0/en/connector-net-ref-mysqlclient.html

于 2013-06-30T02:10:04.617 回答