DataSet 转换成 List

编程入门 行业动态 更新时间:2024-10-25 11:21:32

DataSet <a href=https://www.elefans.com/category/jswz/34/1768412.html style=转换成 List"/>

DataSet 转换成 List

当从数据库查询到数据之后(一般为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{//IDpublic 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里,并赋以新的IDpublic 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);

更多推荐

DataSet 转换成 List

本文发布于:2024-03-11 16:48:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729425.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:转换成   DataSet   List

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!