C# efcore到Mysql表绑定
我在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
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.132个可能的选项,正如评论中已经回答的那样 支持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类型。