我尝试将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);
}
}
请问我该如何解决这个问题,或者至少是一些如何与其他提供商一起使用的样本
答案 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。
使用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}