扩展List<Entity>转化为DataTable

这篇具有很好参考价值的文章主要介绍了扩展List<Entity>转化为DataTable。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

调用方法:DataTable dt = Service健康体检表.GetList(param).ToDataTable();

public static partial class Extensions
    {

        public static DataTable ToDataTable<T>(this IEnumerable<T> varlist)
        {
            DataTable dtReturn = new DataTable();

            // column names  
            PropertyInfo[] oProps = null;

            if (varlist == null) return dtReturn;

            foreach (T rec in varlist)
            {
                // Use reflection to get property names, to create table, Only first time, others will follow  
                if (oProps == null)
                {
                    oProps = ((Type)rec.GetType()).GetProperties();
                    foreach (PropertyInfo pi in oProps)
                    {
                        Type colType = pi.PropertyType;

                        if ((colType.IsGenericType) && (colType.GetGenericTypeDefinition() == typeof(Nullable<>)))
                        {
                            colType = colType.GetGenericArguments()[0];
                        }

                        dtReturn.Columns.Add(new DataColumn(pi.Name, colType));
                    }
                }

                DataRow dr = dtReturn.NewRow();

                foreach (PropertyInfo pi in oProps)
                {
                    dr[pi.Name] = pi.GetValue(rec, null) == null ? DBNull.Value : pi.GetValue
                                                                                      (rec, null);
                }

                dtReturn.Rows.Add(dr);
            }
            return dtReturn;
        }

}文章来源地址https://www.toymoban.com/news/detail-429856.html

到了这里,关于扩展List<Entity>转化为DataTable的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • List<Entity>与Map<String, Entity>互转

    List 转为 MapString, Entity 要将 ListEntity 转换为 MapString, Entity,你需要指定一个属性作为 Map 的键,然后将 List 中的每个实体对象的该属性值作为键,实体对象本身作为值放入 Map 中。以下是一个示例代码: 假设你有一个名为 Entity 的实体类,其中有一个属性名为 id ,你想将 Lis

    2024年04月22日
    浏览(10)
  • Java中List,Set,数组Arrays相互转化

    很多场合需要进行转换( 例如力扣中 ) 数组转换其他时比较容易,反过来就需要操作一番 以下转换的方法并不唯一,但确保简洁易懂 常规的方法:从数组中拿出元素放进list 用工具类或者库函数: 这个比较容易,从数组中拿出元素放进set(同时会自动去重) 这个需要操作

    2024年02月11日
    浏览(16)
  • 【解惑】介绍.net中的DataTable的AcceptChanges方法

    DataTable.AcceptChanges 方法是一个用于 DataTable 对象的方法,它将所有对 DataTable 进行的更改标记为已接受。这意味着所有新增、修改和删除的行都将被标记为 DataRowState.Unchanged ,并且 DataTable 对象的 HasChanges 属性将返回 false 。 需要强调的是, AcceptChanges 方法只是将更改标记为已

    2024年02月15日
    浏览(12)
  • C#调用百度翻译API自动将中文转化为英文,按行转换

    C#调用百度翻译API自动将中文转化为英文,按行转换

    我们可以使用百度翻译API获取到翻译结果 翻译API地址: http://api.fanyi.baidu.com/api/trans/vip/translate 窗体FormTranslator设计器如图:  窗体设计器源代码如下: 文件:FormTranslator.Designer.cs TranslateUtil.cs源程序如下: 文件FormTranslator.cs 【需要到百度上申请开发者账号appId和密码password】

    2024年02月14日
    浏览(19)
  • uniapp扩展组件---uni-list

    uniapp扩展组件---uni-list

    文章目录 基本用法 多行内容显示 右侧显示角标、switch 左侧显示略缩图、图标 开启点击反馈和右侧箭头 聊天列表示例 组件名:uni-list 代码块:  uList 、 uListItem   关联组件: uni-list-item 、 uni-badge 、 uni-icons 、 uni-list-chat 点击下载安装 一、Api属性以及基础用法 点击下方查看

    2024年02月07日
    浏览(9)
  • 413 Request Entity Too Large问题解决方法

    最近我们有个小程序需求是现场拍照提取照片中的有效信息,上传图片只能通过现场拍照,由于目前手机像素普遍较高,导致上传接口出现413 Request Entity Too Large,上传文件过大引起nginx代理报错。 针对这个问题,解决方案是: 项目配置文件修改,比如springboot项目中的applic

    2024年02月16日
    浏览(9)
  • Python 扩展教程(1): 调用百度AI

    Python 扩展教程(1): 调用百度AI

           自有计算机以来,人们就想让计算机具有人的感知、意识、概念、思维、行为,代替人的工作。AI (Artificial Interligence)是计算机科学的一个分支,专注研究、开发、模拟、扩展人的智能的理论、方法、技术及应用。        从研究领域和方法上, AI分为 模式识别、自

    2024年02月03日
    浏览(8)
  • C++中字符与数字的转化方法

    1. 利用 ASCII 码差值计算 定义一个 string 类型字符串 s ,我们可以根据 ACSII 码表得知: 字符 ‘0’ - ‘0’ = 0 ,‘1’ - ‘0’ = 1 ,‘2’ - ‘0’ = 2…以此类推可知 s[i] - ‘0’ = s[i]表示的那个整数 依次将得出的整数加入 a*10 中,便可得到最后想要的整数结果 根据代码,可以看

    2024年02月06日
    浏览(6)
  • SQL中CONVERT转化日期函数的使用方法

    SQL中CONVERT函数最常用的是使用convert转化长日期为短日期,如果只要取yyyy-mm-dd格式时间, 就可以用 convert(nvarchar(10),field,120) 120 是格式代码, nvarchar(10) 是指取出前10位字符. 例如 ================================ select CONVERT(varchar, getdate(), 120 ) 2023-06-05 16:22:43 select replace(replace(replace(CONVE

    2024年02月10日
    浏览(14)
  • Java中的日期转化格式DateUtil工具类-(87个方法)

    日期工具类: DateUtil.java 主要记录一些常用的日期转换功能,下面一一阐述。 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下: 方法代码如下

    2024年02月04日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包