最近EF框架项目中,要从数据库返回一个包含ROW_NUMBER() over()函数排序列的查询结果,在c#代码中执行报错:类型“System.Int64”的对象无法转换为类型“System.Int32” ,看到错误一头雾水,排查后发现是Row_number排序列数据类型的问题,想当然的认为是int类型了,查找了下T/SQL的文档微软Row_number函数使用说明参考
发现返回类型为bigint,对应c#类型为Int64,即long
最近EF框架项目中,要从数据库返回一个包含ROW_NUMBER() over()函数排序列的查询结果,在c#代码中执行报错:类型“System.Int64”的对象无法转换为类型“System.Int32” ,看到错误一头雾水,排查后发现是Row_number排序列数据类型的问题,想当然的认为是int类型了,查找了下T/SQL的文档微软Row_number函数使用说明参考
发现返回类型为bigint,对应c#类型为Int64,即long