在mysql中,我声明了unsigned int类型的字段。他们默认为INT(10)UNSIGNED。在我的c#代码中,当我尝试将这些值读入uint类型时,它给出了一个错误说法 “不能长期转换为uint”。 这里有什么我想念的吗?我认为BIGINT应该是长的并且int(10)unsigned应该是uint? 我正在使用实体框架来读取值... 感谢
代码
from employee in model.employees
select new EmployeeEntity {
EmpID = employee.EmpID,
FirstName=employee.FirstName
};
EmpID
在mysql中声明为UNSIGNED INT 10
EmployeeEntity
将EmpID
声明为uint
(我也尝试过uint32)。但行
作业“EmpID = employee.EmpID”给我错误...
答案 0 :(得分:0)
听起来像EF提供商的问题。可能只是将值检索为long。但是既然你知道它是一个uint,你可以简单地将它从长时间转换为uint。 但请尝试检查是否有更新版本的EF Provider正确映射类型。
答案 1 :(得分:0)
这是提供商的麻烦。它会在DBMS和应用程序之间转换错误类型。我建议您询问他们的支持或更改提供者。
至于我 - 我正在使用Devart dotConnect for MySQL。它的映射表在这里提供 - http://www.devart.com/dotconnect/mysql/docs/DataTypeMapping.html