基于Emit的C#下DataTable转实体类方法,一直报错.

Posted love-zf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Emit的C#下DataTable转实体类方法,一直报错.相关的知识,希望对你有一定的参考价值。

xxxx

 

;WITH Tab AS
(
    SELECT
        CAST(ROW_NUMBER()OVER(ORDER BY CC.CreateTime DESC) AS INT) AS Sequency,
        CONVERT(INT ,COUNT(1) OVER())  AS TotalRecords
    FROM
    dbo.CC CC

)

SELECT *FROM Tab
WHERE Sequency BETWEEN (@PageIndex - 1 ) * @PageSize + 1 AND @PageIndex * @PageSize         
ORDER BY Sequency;





            /*
            注意:
            - 1、定义的Model的各个属性的名称要和Select语句执行结果的列名一致
            - 2、定义的Model的各个属性的数据类型要和数据库定义的一致
            - 3、关于数据列与属性对应:Model中的属性SQL里面可以没有,值会默认为Null/0;但是SQL结果里面有的列名必须在Model中存在。否则会报错!
             */

 

 罪魁祸首

ROW_NUMBER()返回的bigint类型的,而Model的属性定义的int类型...

 

 

xxx

 

以上是关于基于Emit的C#下DataTable转实体类方法,一直报错.的主要内容,如果未能解决你的问题,请参考以下文章

DataTable转实体类

反射DataTable转实体类

Datatable转实体 实体转换辅助类

使用反射将DataTable的数据转成实体类

C# 将DataTable数据源转换成实体类

DataTable转实体类集合