问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#net 怎么给一个entity类型的list 转换成dataset

发布网友 发布时间:2023-07-18 09:32

我来回答

1个回答

热心网友 时间:2024-12-12 21:58

  // 扩展List集合
    static class ExternList {
        public static DataSet ToDataSet<TSource>(this IList<TSource> list)
        {
            Type elementType = typeof(TSource);
            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            ds.Tables.Add(dt);

            foreach (var pi in elementType.GetProperties())
            {
                Type colType = Nullable.GetUnderlyingType(pi.PropertyType) ?? pi.PropertyType;
                dt.Columns.Add(pi.Name, colType);
            }

            foreach (TSource item in list)
            {
                DataRow row = dt.NewRow();
                foreach (var pi in elementType.GetProperties())
                {
                    row[pi.Name] = pi.GetValue(item, null) ?? DBNull.Value;
                }
                dt.Rows.Add(row);
            }

            return ds;
        }
    }
    
    // 调用示例:
    public class YourType{
      public string Name { get; set; }
    }
    IList<YourType> list = new List<YourType>{
              new YourType(){Name="Foo1"},
              new YourType(){Name="Foo2"},
              new YourType(){Name="Foo3"}
    };

    DataSet ds = list.ToDataSet<YourType>();
    DataTable dt = ds != null && ds.Tables.Count > 0 ? ds.Tables[0] : null;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
arrive in和arrive at 有什么区别? 磁力泵为什么可空转? 为什么不让衬氟塑料磁力泵空转?怎样提升设备稳定性? 工业软管泵 塑料磁力泵为什么不能空转 求推荐男主和女配在一起的小说? 《红衣天下》txt全集下载 检测公司检测哪些 检测公司是怎么样的 检测公司属于什么企业 ...我电视升级升死!黑屏!!急需康佳LED47R5200PDE 99010788 升级程序... 康佳电视led47r5200pde型号 开机只有图像没有声音,经常关机后自己重启... 付滃的介绍 别克新君威手刹变重 今天下雨,一拉手刹感觉明显比平时变沉,什么原因? 汽车拉手刹刚开始轻,拉到一半就很重是怎么回事 手刹重怎么解决 吃什么保健类食品可以排出身体毒素? 我们应该吃什么食物有利于体内的毒素排除呢!? 靠边停车时离合器和刹车如何控制 市场监管执法有执勤肩灯吗 卧室的床是乳白色,配什么床头灯比较搭配好看? 男,177cm 75kg 是不是太胖了? 男人身高1.78cm体重75kg他算胖吗? 中性白的墙,米黄的地砖,奶白色的床,配搭什么颜色的窗帘、衣柜和书桌... 16岁,男生,身高178,体重75KG. ,因为我肩膀很宽,所以很多同学叫我胖子... 谁有广西壮族自治区来宾市的出租车图片?提供两张。 安徽聚功企业管理有限公司怎么样? 马鞍山劳务公司有哪些 thinkpad键盘,大智慧软件,按F10怎么出不来上市公司的介绍资料了... struts2的action有一个List&lt;Entity&gt;及其setter&getter方法,要用jqu... c# list&lt;Tentity&gt;和list的区别 list(entity)发现里面不是以http//开关我就将它删除,这个应该怎么去实现... entity framework 查询两个表的数据 然后返回到list里面 想实现list里 ... ...编写JS使得提交时每行组成一个entity,所有行组成一个list_百度... 信阳学院专业分数线 信阳学院怎么样河南排第几 哪些大学是3+4模式的? ...今年高考估的是570左右,去年1本分数线是509,想知道报哪所大学比较... LED发光字在安装时要注意什么事项 人人信借10000给7000合法吗 借了一万,一个月利息一千。但实际到手才七千多。这样是违法吗?_百度知 ... 向别人借了一万,到手就七千,然后三个月要还一万四千五,这要怎么办... 借款一万中介要三千我只到手7000合法吗? 点痣后疤痕皮肤增生有点痒,请问怎样去除掉 怎么考焊接技师 佳人到三更打一个生肖 错别字(20分) 溘然长世,目不转晴,筋疲力尽,前呼后拥这几个成语中哪几个字错了 C.抵牾(wǔ) 横亘(gèn) 造福桑梓(zǐ) 筋疲力尽(jīn)哪个错了?