Add-Migration не работает с MySQL

Я загрузил одностраничное веб-приложение Asp.Net MVC 5.x из https://aspnetboilerplate.com/Templates . Я использую MySQL и выполнил шаги, указанные в ссылке https://aspnetboilerplate.com/Pages/Documents/EF-MySql-Integration. Но когда я запускаю команду Add-Migration, она выдает ошибку.

MyCompany.MyProject.Web \ Web.Config:

<add name="Default" connectionString="Server=127.0.0.1;port=3306;Database=SparTestDb;uid=root;password=root" providerName="MySql.Data.MySqlClient"/>

MyCompany.MyProject.EntityFramework \ Migrations \ Configuration.cs

public Configuration()
{
    AutomaticMigrationsEnabled = false;
    ContextKey = "Spar";

    SetSqlGenerator("MySql.Data.MySqlClient", new MySql.Data.Entity.MySqlMigrationSqlGenerator());
}

Ошибка:

PM> Add-Migration "AbpZero_Initial" System.NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта. на MySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken (DbConnection соединение) в System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken (соединение DbConnection) при System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked (DbProviderServices providerServices, подключение DbConnection ) в System.Data.Entity.Infrastructure.DefaultManifestTokenResolver. ‹> c__DisplayClass1.b__0 (Tuple3 k) at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd (ключ TKey, Func2 valueFactory) at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection) at System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest) at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) at System.Data.Entity.Internal.RetryLazy2.GetValue (ввод TInput) в System.Data.Entity.Internal.LazyInternalContext) (
InternalContext) в System.Data.Entity.Internal.LazyInternalContext System.Data.Entity.Internal.InternalContext.Initialize () в System.Data.Entity.Internal.InternalContext.ForceOSpaceLoadingForKnownEntityTypes () в System.Data.Entity.DbContext.System.Data.Entity.Infrastructure.IObjectContextAdapter.get_ObjectContextAdapter.get_ObjectContextAdapter.get_ObjectContextAdapter.get_ObjectContextAdapter.get_ObjectContextAdapter.get_ObjectContextAdapter Abp.EntityFramework.AbpDbContext.RegisterToChanges () в преобразователе Abp.Zero.EntityFramework.AbpZeroDbContext3..ctor(String nameOrConnectionString) at MyCompany.MyProject.EntityFramework.SparDbContext..ctor() in C:\Users\MyName\Downloads\MyCompany.MyProject (1)\3.3.0\src\MyCompany.MyProject.EntityFramework\EntityFramework\SparDbContext.cs:line 19 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Data.Entity.Infrastructure.DbContextInfo.CreateInstance() at System.Data.Entity.Infrastructure.DbContextInfo..ctor(Type contextType, DbProviderInfo modelProviderInfo, AppConfig config, DbConnectionInfo connectionInfo, Func1 ) в System.Data.Entity.Migrations.DbMigrator..ctor (конфигурация DbMigrationsConfiguration, DbContext usersContext, DatabaseExistenceState existState, логическое значение namedByCreateDatabase) в System.Data.Entity.Migrations.DbMigrator..ctor (конфигурация DbMigrationsConfiguration) в System.Data.Entity .Migrations.Design.MigrationScaffolder..ctor (DbMigrationsConfiguration migrationsConfiguration) в System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.RunCore () в System.Data.Entity.Migrations.Design.ToolingFacade.BaseRunner (Object) ссылка не установлена ​​на экземпляр объекта. PM>


person vivek nuna    schedule 02.05.2018    source источник


Ответы (1)


MySql.Data версии 6.9.11 работает хорошо. У более высоких версий проблемы. Итак, попробуйте использовать nuget.org/packages/MySql.Data/6.9.11. Или, если вы используете EF Core, вы можете использовать Npgsql.EntityFrameworkCore.PostgreSQL

person vivek nuna    schedule 28.06.2018