首页 > 编程语言 >C# EF 模型转DataTable

C# EF 模型转DataTable

时间:2022-10-09 11:59:00浏览次数:42  
标签:info C# EF properties dataTable PropertyType new DataTable

 1 /// <summary>
 2 /// EF模型转换为Datatable
 3 /// </summary>
 4 /// <typeparam name="T"></typeparam>
 5 /// <param name="list"></param>
 6 /// <returns></returns>
 7 public static DataTable EFModToDataTable<T>(IEnumerable<T> list)
 8 {
 9     Type type = typeof(T);
10     DataTable dataTable = new DataTable();
11     List<PropertyInfo> properties = new List<PropertyInfo>();
12     foreach (PropertyInfo info in type.GetProperties())
13     {
14         if (info.PropertyType.IsValueType || info.PropertyType == typeof(string))
15         {
16             dataTable.Columns.Add(new DataColumn(info.Name, Nullable.GetUnderlyingType(info.PropertyType) ?? info.PropertyType));
17             properties.Add(info);
18         }
19     }
20     foreach (T entity in list)
21     {
22         object[] values = new object[properties.Count];
23         for (int i = 0; i < properties.Count; i++)
24         {
25             values[i] = properties[i].GetValue(entity);
26         }
27         dataTable.Rows.Add(values);
28     }
29     return dataTable;
30 }

 

标签:info,C#,EF,properties,dataTable,PropertyType,new,DataTable
From: https://www.cnblogs.com/smartnn/p/16771602.html

相关文章

  • TCP和UDP的联系与区别
         在TCP/IP体系中,运输层有两个协议:TCP和UDP。    UDP——用户数据报协议是TCP/IP协议体系中运输层协议之一,UDP协议只提供应用进程寻址和简单的差错......
  • Java中如何使用Scanner类读取.txt文件呢?
    转自:http://www.java265.com/JavaJingYan/202111/16359892761682.html 文件是日常开发中,使用最多的一种东西,在操作系统中,万物都以文件的形式存在,如:磁盘,网络,内存都都以......
  • 浅析TCP与UDP的联系与区别?
    什么是TCP?传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP的特点:(1)TCP是面向连接的运输层协议。......
  • cmd运行jar包端口被占用导致程序终止
    比如被占端口是80801.在命令行输入netstat-ano|findstr'8080'  先找到被占端口2.在命令行输入taskkill-pid29708-f即可(29708:重复值)......
  • Ceph使用---CephX认证机制及用户管理
    一、CephX认证机制介绍Ceph使用cephx协议对客户端进行身份认证cephx用于对ceph保存的数据进行认证访问和授权,用于对访问ceph的请求进行认证和授权检测,与mon通信的请求都要......
  • Coupled Iterative Refinement for 6D Multi-Object Pose Estimation论文精读
    目录CoupledIterativeRefinementfor6DMulti-ObjectPoseEstimation论文精读RAFTIntroduction模型介绍论文介绍AbstractIntroductionRelatedWorkApproachPreliminarie......
  • EF Core中的Fluent API方法 (重写OnModelCreating方法中)
    配置FluentAPI方法用法模型配置HasDbFunction()在定位关系数据库时配置数据库功能HasDefaultSchema()指定数据库架构HasAnnotation()在实体上添加或更新数据注释属性......
  • Dev之GridControl 属性详解
    Dev之GridControl详解</div><divid="cnblogs_post_body"class="blogpost-bodyblogpost-body-html">Dev控件中的表格控件GridControl控件非常强大。不过,一些细枝......
  • oracle---exp/imp
    exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBKexp'test/"test@#1234"@orcl'file=/home/oracle/bak/data.dmpowner=testlog=/home/oracle/bak/exp.logbuffer=1024000......
  • 安装pytroch里的jupyter
    因为安装了anaconda,创建了环境pytorch名为py361.打开这个2.切换到py363.安装jupyter耐心等待右下角的进度条4.安装完毕,点击启动输入刚刚在py36里测试的代码......