MyBookShop/Core/DataTransfer.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Reflection;
using System.Data;

namespace Core
{
    /*
    * 类名:DataTransfer
    * 创建时间:2016/10/11 12:12:25
    * 创建人:XX人员
    * 基本功能:
    * 版本:
    *        version 1.0
    * **/
    public class DataTransfer<T> where T:class
    {
        public static T GetEntity(DataSet ds)
        {
            //创建T对象
            T entity = Activator.CreateInstance<T>();
            //获取T类型
            Type type = typeof(T);
            //获取T类型中所有的公共属性
            PropertyInfo[] properties = type.GetProperties();
            //判断ds数据表格是否合理
            if (!(ds.Tables.Count != 0 && ds.Tables[0].Rows.Count == 1))
            {
                //throw new Exception("数据表格数据不合法!");
                entity = null;
            }
            else
            {
                //获取数据表格中的一条数据
                DataRow dr = ds.Tables[0].Rows[0];
                //循环属性,并赋值
                foreach (PropertyInfo item in properties)
                {
                    //判断列是否包含在数据库表格中
                    if (!ds.Tables[0].Columns.Contains(item.Name))
                    {
                        continue;
                    }
                    object changeValue = Convert.ChangeType(dr[item.Name], item.PropertyType);
                    if (changeValue != null)
                    {
                        item.SetValue(entity, changeValue);
                    }
                }
            }
           
            return entity;
        }
        /// <summary>
        /// DataSet转换泛型集合
        /// </summary>
        /// <param name="ds"></param>
后面还有 47 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。