DataSet 转换成 List
来源:互联网 发布:农村淘宝要投资多少钱 编辑:程序博客网 时间:2024/05/23 20:22
当从数据库查询到数据之后(一般为DataSet ),一般需要转换成List,这样才方便后续操作。
而有些人喜欢将这个转换过程放到DAL层去实现,但我喜欢把它放到Model层,搞成一个静态方法。
下面是一个例子,仅供参考:
using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;namespace Com.Model{ public partial class User { //ID public Int64 ID { get; set; } //用户姓名 public String UserName { get; set; } //用户年龄 public Int64 UserAge { get; set; } //是否有房?想房子想疯了... public Boolean HasHouse { get; set; } //用户出生日期,可为空 public DateTime? UserBirthDay { get; set; } //将查询到的数据放到WF_FormCtlAttr里,并赋以新的ID public static List<User> ToUserList(DataSet ds) { List<User> list = new List<User>(); List<long> IDs = new List<long>(); //用于排除重复项 var dt = ds.Tables[0]; if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { User obj = new User(); if (dt.Columns.Contains("ID")) obj.ID = Convert.ToInt64(dr["ID"]); //用于排除重复项 if (IDs.Contains(obj.ID)) continue; else IDs.Add(obj.ID); if (dt.Columns.Contains("UserName")) obj.UserName = Convert.ToString(dr["UserName"]); if (dt.Columns.Contains("UserAge")) obj.UserAge = Convert.ToInt64(dr["UserAge"]); if (dt.Columns.Contains("HasHouse")) obj.HasHouse = Convert.ToBoolean(dr["HasHouse"]); if (dt.Columns.Contains("UserBirthDay")) obj.UserBirthDay = dr["UserBirthDay"] == DBNull.Value ? null : (DateTime?)Convert.ToDateTime(dr["UserBirthDay"]); list.Add(obj); } } return list; } }}
这样的话,我们调用的时候直接 List<User> userList = User.ToUserList(dataset);
0 0
- List转换成DataSet
- List转换成DataSet
- List转换成DataSet
- DataSet 转换成 List
- 实现 List转换成DataSet
- 实现 List转换成DataSet
- 将DataSet转换成List
- C#之List转换成DataSet
- c#将List<T>转换成DataSet
- 将List实体转换成DataSet
- DataSet和List相互转换
- 读取Excel表到DateSet,将DataSet转换成List
- 怎样用C# LINQ将DataSet转换成List?
- asp.net DataSet转换成List<model>[源码]
- IList 转换成 DataSet
- IList转换成DataSet
- Ilist转换成dataset
- IList 转换成 DataSet
- iOS 计算代码块执行时间
- ABAP 动态 SQL
- Android 开发 ContentProvider 获取歌曲列表和联系人的例子
- iOS高级开发——CollectionView的cell中按钮的点击实现
- 记录——《C Primer Plus (第五版)》第十一章编程练习第一题
- DataSet 转换成 List
- fl2440内核移植(二)——RTC移植
- ABAP 动态查询条件
- iOS导航标题不居中显示问题
- get real ip
- MySQL外键约束的禁用与启用命令
- 虚拟机vmware10.0.0里设置Suse Linux Enterprise 11系统静态IP上网
- 黑马程序员 JavaSE-11 IO流
- CMSIS标准