我正在编写一个dotnet核心项目,将我们的生产数据库转换为mysql的postgres。 Dapper似乎在处理通过一个表时将tinyint列转换为boolean,但其中约有2000个记录失败。我在Type和Value上做了一个快速的控制台声明,我得到了这个:
一对好记录转换
False
System.Boolean
True
System.Boolean
失败的记录
1
System.SByte
什么会导致以前的记录正确转换,但不会导致此记录。经过快速检查,我没有看到为什么这一行会有任何不同的行为?如果需要,我可以处理这个案子但是想知道为什么会这样呢? mysql中的快速不同选择只显示三个记录0,1和null谢谢。
答案 0 :(得分:0)
这听起来很像Dapper issue 552:“ Dapper在MySql可为空的布尔值上失败”。
潜在的问题是MySQL bug 78917,已在MySql.Data v6.10.8和v8.0.12中修复;将NuGet软件包更新到最新版本应该可以解决问题。