我使用数据库优先方法,并尝试基于现有数据库创建EF模型。
我试图从我的专栏代表布尔类型。
首先,我尝试将其设置为TINYINT(1)
类型,然后生成EF模型,然后看到此列的byte
类型。
我尝试了多种方法将其设置为0,但没有成功。
我尝试将简单的赋值=0
分配给该变量,然后尝试使用Convert.ToByte(false)
方法,但两个方法均未成功。
下一步是将TINYINT(1)
更改为BIT(1)
类型。然后,EF为我的栏生成了short
类型。我也无法通过此short
类型分配0值。
我怎么了?
答案 0 :(得分:1)
听起来您正在遇到MySQL bug 92987。 (另请参见类似的bug 93028。)
由于Oracle甚至没有确认这些问题,更不用说指出修复这些问题的优先级了,您可能想要尝试切换到Pomelo.EntityFrameworkCore.MySql,这是MySQL EF.Core的替代实现;许多人报告说它更可靠(例如here和here)。
答案 1 :(得分:0)
因此,我在MySQL中将默认值更改为NULL,然后EF为我生成了可为空的short?
类型。
奇怪的事情,但是这次映射正常。