C# efcore到Mysql表绑定

C# efcore到Mysql表绑定,c#,mysql,.net-core,ef-core-2.1,C#,Mysql,.net Core,Ef Core 2.1,我在MySQL中有下表 当我在一些中间件中运行以下代码时 var apiKeys = _appContext.apikey.ToList(); 我得到这个错误 System.InvalidOperationException:在类型“System.Int16”和“System.Boolean”之间未定义强制运算符 这是我的ApiKey课程 public class ApiKey { public string apikeyid { get; set; } public str

我在MySQL中有下表

当我在一些中间件中运行以下代码时

var apiKeys = _appContext.apikey.ToList();
我得到这个错误

System.InvalidOperationException:在类型“System.Int16”和“System.Boolean”之间未定义强制运算符

这是我的ApiKey课程

public class ApiKey
{
    public string apikeyid { get; set; }
    public string uid { get; set; }
    public string apikey { get; set; }
    public bool isactive { get; set;}
    public bool ispaid { get; set; }
    public bool ismod { get; set; }
    public bool isadmin { get; set; }
}
我用Postgresql数据库做了这个,然后就转到了MySQL。这与从db中的tinyint到课堂中的bool有什么关系吗


我正在使用MySql.Data.EntityFrameworkCore 8.0.13

2个可能的选项,正如评论中已经回答的那样

支持bool到int映射, 第二个选项是使用,它与其他驱动程序一起工作

entity.Propertyp=>p.isActive.HasConversion


评论中已经回答了2个可能的选项

支持bool到int映射, 第二个选项是使用,它与其他驱动程序一起工作

entity.Propertyp=>p.isActive.HasConversion


是的,确实如此-您使用的是bool,但是模式被定义为mysql tinyin我相信在您的模型中使用int可以解决这个问题这听起来像是mysql.Data.EntityFrameworkCore中报告的错误:您可以尝试切换到据报道错误较少的模式。在C中,将TINYINT1 aka bool映射到bool是mysql&.NET和Pomelo的典型实践完全支持,我也有这个问题。这显然是MySql.Data.EntityFrameworkCore库中的一个bug-它将数据库bool类型映射到.NET中的Int16类型。是的,它确实存在-您正在使用bool,但模式定义为MySql tinyin我相信在您的模型中使用int将修复此问题。这听起来像是MySql.Data.EntityFrameworkCore中报告的bug:您可以尝试切换到哪个模式据报道,在C中将TINYINT1 aka BOOL映射到BOOL是MySQL和.NET的典型实践,Pomelo完全支持它。我也遇到了这个问题。这显然是MySql.Data.EntityFrameworkCore库中的一个bug—它将数据库bool类型映射到.NET中的Int16类型。