我正在DotNetCore2.0API上使用entityframeworkcore mysql。
这是我得到的错误
Unable to cast object of type 'ConcreteTypeMapping' to type 'Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping'.
我在尝试访问任何dbset时都遇到了这个错误。我无法追踪它是Map问题、连接问题还是库问题。如果有人看到这个请告诉我。否则这就是我到目前为止所拥有的。
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)
);
1条答案
按热度按时间b4lqfgs41#
我想出来了。
原来我引用的是nuget包microsoft.entityframeworkcore2.1.0-preview2-final。似乎它和mysql.data.entityframeworkcore之间存在兼容性问题。一旦我取出第一个包,它就工作得很好。