DotnetCore2.0 webapi中的EntityFrameworkCore MySql错误

DotnetCore2.0 webapi中的EntityFrameworkCore MySql错误,mysql,.net-core,entity-framework-core,Mysql,.net Core,Entity Framework Core,我正在dotnetcore 2.0 api上使用EntityFrameworkCore MySql 这是我得到的错误 Unable to cast object of type 'ConcreteTypeMapping' to type 'Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping'. 我在尝试访问任何数据库集时都会遇到此错误。我无法追踪它是映射问题、连接问题还是库问题。如果有人看到这个,请告诉我。否则,这就是我到目前

我正在dotnetcore 2.0 api上使用EntityFrameworkCore MySql

这是我得到的错误

Unable to cast object of type 'ConcreteTypeMapping' to type 'Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping'.
我在尝试访问任何数据库集时都会遇到此错误。我无法追踪它是映射问题、连接问题还是库问题。如果有人看到这个,请告诉我。否则,这就是我到目前为止所拥有的

public class GamerDbContext : DbContext
{
    public GamerDbContext()
    {

    }

    public GamerDbContext(DbContextOptions<GamerDbContext> options) : base(options)
    {

    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<GamerModel>();
    }

    public DbSet<GamerModel> GamerModel { get; set; }
    //public DbSet<GamerProfileModel> GamerProfiles { get; set; }
}

public class GamerModel
{
    [Key]
    public int Id { get; set; }

    //[Column(TypeName = "VARCHAR")]
    //[StringLength(36)]
    public string Username { get; set; }

    //[Column(TypeName = "VARCHAR")]
    //[StringLength(1024)]
    public string Password { get; set; }

    //[NotMapped]
    //public List<GamerProfileModel> GamerProfiles { get; set; }
}
-- auto-generated definition
CREATE TABLE Gamers
(
   Id       INT AUTO_INCREMENT PRIMARY KEY,
   Username VARCHAR(36)   NOT NULL,
   Password VARCHAR(1024) NULL,
   CONSTRAINT Gamers_Id_uindex
   UNIQUE (Id),
   CONSTRAINT Gamers_Username_uindex
   UNIQUE (Username)
);
公共类GamerDbContext:DbContext
{
公共游戏RDBContext()
{
}
公共游戏RDBContext(DbContextOptions选项):基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity();
}
公共DbSet GamerModel{get;set;}
//公共DbSet游戏配置文件{get;set;}
}
公共类GamerModel
{
[关键]
公共int Id{get;set;}
//[列(TypeName=“VARCHAR”)]
//[行政长官(36)]
公共字符串用户名{get;set;}
//[列(TypeName=“VARCHAR”)]
//[StringLength(1024)]
公共字符串密码{get;set;}
//[未映射]
//公共列表玩家配置文件{get;set;}
}
--自动生成定义
创建桌面游戏玩家
(
Id INT自动递增主键,
用户名VARCHAR(36)不为空,
密码VARCHAR(1024)NULL,
限制玩家Id索引
唯一(Id),
限制玩家\u用户名\u索引
唯一(用户名)
);
找到了答案


原来我引用的是nuget软件包Microsoft.EntityFrameworkCore版本2.1.0-preview2-final。这似乎与MySql.Data.EntityFrameworkCore存在兼容性问题。一旦我删除了第一个包,它就工作得很好。

您可以发布代码说明如何访问DbSet吗?很好,您可以在GitHub的Entity Framework核心存储库中提出这个问题。这样他们就能修好它。