3

我正在尝试将 mysql 与 Microsoft.EntityFrameworkCore 2.1-rc-final 和 MySql.Data.EntityFrameworkCore 8.0.11 作为提供者一起使用。但是当我尝试执行 mugrations 命令时,我得到了这个异常: System.MissingMethodException: Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommandBuilderFactory..ctor(Microsoft.EntityFrameworkCore.Diagnostics.IDiagnosticsLogger`1, Microsoft .EntityFrameworkCore.Storage.IRelationalTypeMapper)'。

这是我的 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);
    }
}

请问我该如何解决这个问题或至少一些如何与其他提供商一起使用的示例

4

2 回答 2

1

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

于 2018-06-15T02:30:16.530 回答
1

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

Pomelo = UseMySql (Sql)

EntityFrameworkCore = UseMySQL (SQL)

使用核心 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}
于 2018-06-18T22:16:15.783 回答