Microsoft.EntityFrameworkCore 2.1-rc with MySql.Data.EntityFrameworkCore

时间:2018-05-21 06:08:54

标签: mysql mysql.data asp.net-core-2.1 entity-framework-core-2.1

我尝试将mysql与Microsoft.EntityFrameworkCore 2.1-rc-final和MySql.Data.EntityFrameworkCore 8.0.11一起用作提供程序。但是当我尝试执行mugrations命令时,我得到了这个异常: System.MissingMethodException:找不到方法:&#39; Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory..ctor(Microsoft.EntityFrameworkCore.Diagnostics.IDiagnosticsLogger`1,Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)&#39;。< / p>

这是我的IDesignTimeDbContextFactory代码实现:

public class DesignLocationFactory:IDesignTimeDbContextFactory<LocationDbContext>
{
    public LocationDbContext CreateDbContext(string[] args)
    {
        var builder = new DbContextOptionsBuilder<LocationDbContext>();
            builder.UseMySQL("server=localhost;port=3306;user=***;passsword=***;database=locationdb");
        return new LocationDbContext(builder.Options);
    }
}

请问我该如何解决这个问题,或者至少是一些如何与其他提供商一起使用的样本

2 个答案:

答案 0 :(得分:0)

最后,有了这个提供商Pomelo.EntityFrameworkCore.MySql版本2.1.0-rc1-final,一切都很完美。 要安装它,请执行以下命令: 安装包Pomelo.EntityFrameworkCore.MySql -Version 2.1.0-rc1-final

答案 1 :(得分:0)

我可以确认2.1.0-rc1-final解决了这个问题。另外,请注意Pomelo的区分大小写与Microsoft.EntityFrameworkCore。

Pomelo = UseMySql(Sql)

EntityFrameworkCore = UseMySQL(SQL)

使用Core 2.1

Id                                           Versions
--                                           --------
Microsoft.AspNetCore.App                     {2.1.0}
Microsoft.VisualStudio.Web.CodeGeneration.Design {2.1.0}
Microsoft.EntityFrameworkCore.Tools          {2.1.0}
Microsoft.NETCore.App                        {2.1.0}
MySql.Data.EntityFrameworkCore.Design        {8.0.11}
MySql.Data.EntityFrameworkCore               {8.0.11}
Pomelo.EntityFrameworkCore.MySql             {2.1.0-rc1-final}