C# 使用MySql.Data.EntityFrameworkCore包进行TINYINT或位类型映射时遇到问题

C# 使用MySql.Data.EntityFrameworkCore包进行TINYINT或位类型映射时遇到问题,c#,mysql,entity-framework,asp.net-core,C#,Mysql,Entity Framework,Asp.net Core,我使用DB优先的方法,并尝试基于现有DB创建EF模型。 我试图从我的列中表示布尔类型 首先,我试图将is设置为TINYINT(1)type,然后我生成EF模型,我看到该列的bytetype。 我尝试了许多方法将其设置为0,但没有成功。 我尝试将=0简单赋值给这个变量,然后尝试使用Convert.ToByte(false)方法,但都没有成功 我的下一步是将TINYINT(1)更改为BIT(1)类型。然后EF为我的列生成short类型。我也无法通过此short类型分配0值 我的错误是什么?听起来你好

我使用DB优先的方法,并尝试基于现有DB创建EF模型。
我试图从我的列中表示布尔类型

首先,我试图将is设置为
TINYINT(1)
type,然后我生成EF模型,我看到该列的
byte
type。 我尝试了许多方法将其设置为0,但没有成功。 我尝试将
=0
简单赋值给这个变量,然后尝试使用
Convert.ToByte(false)
方法,但都没有成功

我的下一步是将
TINYINT(1)
更改为
BIT(1)
类型。然后EF为我的列生成
short
类型。我也无法通过此
short
类型分配0值


我的错误是什么?

听起来你好像遇到了MySQL。(另请参见与之类似的内容。)


由于Oracle甚至还没有确认这些问题,更不用说指出解决这些问题的优先顺序,您可能想尝试切换到另一个MySQL EF.Core实现;很多人都说它更可靠(例如,和)。

因此,我在MySQL中将默认值更改为NULL,然后EF为我生成了nullable
short?
type。
奇怪的事情,但这次映射工作正常

您可以为您的Pomelo提供商使用此映射配置。。