.net 数据源DataSet 转换成模型
/// <summary>
/// DataSet转换成model 自动赋值返回集合
/// </summary>
/// <typeparam name="T">模型类型</typeparam>
/// <param name="dataList">传入数据DataSet数据源</param>
/// <param name="obj">传入模型</param>
/// <returns></returns>
public List<T> DataSetBindList<T>(DataSet dataList,T obj) where T : new()
{
//创建一个泛型
List<T> lists = new List<T>();
//遍历DataSet数据源
foreach (DataRow item in dataList.Tables[0].Rows)
{
//将赋值的模型添加到集合里面
lists.Add(assignmentClass(new T(), item));
}
return lists;
}
/// <summary>
/// DataSet转换成model 自动赋值返回模型
/// </summary>
/// <typeparam name="T">模型类型</typeparam>
/// <param name="dataList">传入数据DataSet数据源</param>
/// <param name="obj">传入模型</param>
/// <returns></returns>
public T DataSetBindClass<T>(DataSet dataList, T obj) where T : new()
{
//创建一个模型
T model = new T();
//遍历数据源
foreach (DataRow item in dataList.Tables[0].Rows)
{
//将数据添加到模型里面
model = assignmentClass(new T(), item);
}
return model;
}
/// <summary>
/// 抽象出赋值部分
/// </summary>
/// <typeparam name="T">模型类型</typeparam>
/// <param name="obj">传入模型</param>
/// <param name="item">传入数据DataRow数据源</param>
/// <returns></returns>
public T assignmentClass<T>(T obj, DataRow item) where T : new()
{
//先判断模型是不是等于空
if (obj==null)
{
//等于空创建一个
obj = new T();
}
//获取模型的类型
Type type = obj.GetType(); //得到类型
PropertyInfo[] properts = type.GetProperties(); //得到类型的所有属性,也就是表对应的实体模型的所有属性
//遍历PropertyInfo
foreach (PropertyInfo propertyInfo in properts)
{
//判断数据是否存在
int index = item.Table.Columns.IndexOf(propertyInfo.Name);
if (index != -1)
{
//判断数据源的数据不能为空
if (item[propertyInfo.Name] != null && item[propertyInfo.Name] != DBNull.Value)
{
//给obj赋值
propertyInfo.SetValue(obj, Convert.ChangeType(item[propertyInfo.Name], propertyInfo.PropertyType), null);
}
}
}
return obj;
}
.net 数据源DataSet 转换成模型的更多相关文章
- 把DataSet转换成JSON
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
- DataSet转换成List<>
方法一: //DataSet转换成List<ArticleInfo> public List<ArticleInfo> GetArticleList(DataSet ds) { ...
- iOS swift HandyJSON组合Alamofire发起网络请求并转换成模型
在swift开发中,发起网络请求大部分开发者应该都是使用Alamofire发起的网络请求,至于请求完成后JSON解析这一块有很多解决方案,我们今天这里使用HandyJSON来解析请求返回的数据并转化成 ...
- 将DataSet转换成json
/// <summary> /// 把dataset数据转换成json的格式 /// </summary> /// <para ...
- dataTable/dataSet转换成Json格式
using System.Text;using System.Collections.Generic; 1)dataTable转Json(表格有名称:dt.TableName) public stat ...
- asp.net如何将DataSet转换成josn并输出
public class JsonUtil { public string ToJson(DataSet dataSet) { string jsonString = "{"; f ...
- 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)
public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...
- DataTabel DataSet 对象 转换成json
public class DataTableConvertJson { #region dataTable转换成Json格式 /// <summary> ...
- sparksql 用反射的方式将rdd转换成dataset/dataframe
java public class ReflectionDemo { private static SparkConf conf = new SparkConf().setAppName(" ...
随机推荐
- Asia Yokohama Regional Contest 2018 G题 What Goes Up Must Come Down
链接 G题 https://codeforces.com/gym/102082 使其成为单峰序列需要交换多少次相邻的数. 树状数组维护逆序对. 对于每个序列中的数,要么在单峰的左侧,要么在单峰的右侧, ...
- Java实现自定义注解开发
Java实现自定义注解开发 一直都对注解开发挺好奇的,最近终于有时间自己实践了一把,记录一下 万一后期会用到呢 哈哈哈 首先我们了解一下自定义注解的标准示例,注解类使用 @interface 关键字修 ...
- 03-MySQL安装与配置
一.安装MySQL 1.我的是centos8,因此命令为: sudo yum install mysql-server 2.安装完成后查看是否启动 ps aux|grep mysql 3.启动mysq ...
- iOS的常用类库
target 'NewCompass' do #UI通用 pod 'SVProgressHUD' pod 'MJRefresh' pod 'SnapKit' #pod 'RTRootNavigatio ...
- 多进程操作-进程队列multiprocess.Queue的使用
一.ipc机制 进程通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁 queue 下面拿代码来实现Queue如何使用: 案例一: from multiprocessing import Q ...
- 一起学Android之ContentProvider
本文主要讲解在Android开发中ContentProvider的常规用法,仅供学习分享使用,如有不足之处,还请指正. 访问一个ContentProvider 在Android开发中,应用程序通过Co ...
- Java生鲜电商平台-商城优惠券设计要点复盘与总结
Java生鲜电商平台-商城优惠券设计要点复盘与总结 Java生鲜电商平台本文将从优惠券设计用户端,需求端,业务流程全方案解析优惠券设计方案 为什么要设计优惠券 设计优惠券的核心:拉新和促活 新产品上线 ...
- Eclipse:批量将Java源代码文件的编码从GBK转为UTF-8
很简单的几行代码,就可以批量将GBK格式的java文件转为UTF-8格式. 基本上所有文本文件的编码转换都可以采用这种方式. import java.io.File; import java.io.I ...
- STL--标准模板库--简要概述
STL--标准模板库 #include <vector> //头文件 STL(Standared Template Library)即标准模板库,惠普实验室开发的一系列软件的统称. ...
- 循环语句for基本概述
循环语句for基本概述 01. for循环基础语法 for 变量名 in [ 取值列表 ]do 循环体done 02. for循环基本使用示例 #取值列表有多种取值方式,可以直接读取in后面的值,默认 ...