DataRow 转 泛型

支持DataRow转换为Model和分页的简单三层模版(动软、C#) 支持DataRow类型转换为Model类型和分页的简单三层模版(动软、C#) 使用分页 前提条件:必须在数据库里运行page.sql生存一个分页的存储过程。 注意:在dal、和bll层中的分页方法默认都是注释掉了,必须去掉注释。 立即下载

public static  class DataExtensions
    {
       /// <summary>
        /// DataRow扩展方法:将DataRow类型转化为指定类型的实体
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <returns></returns>
        public static T ToModel<T>(this DataRow dr) where T : class, new()
        {
            return ToModel<T>(dr, true);
        }
        /// <summary>
        /// DataRow扩展方法:将DataRow类型转化为指定类型的实体
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="dateTimeToString">是否需要将日期转换为字符串,默认为转换,值为true</param>
        /// <returns></returns>
        /// <summary>
        public static T ToModel<T>(this DataRow dr, bool dateTimeToString) where T : class, new()
        {
            if (dr != null)
                return ToList<T>(dr.Table, dateTimeToString).First();
            return null;
        }
        /// <summary>
        /// DataTable扩展方法:将DataTable类型转化为指定类型的实体集合
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <returns></returns>
        public static List<T> ToList<T>(this DataTable dt) where T : class, new()
        {
            return ToList<T>(dt, true);
        }
        /// <summary>
        /// DataTable扩展方法:将DataTable类型转化为指定类型的实体集合
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="dateTimeToString">是否需要将日期转换为字符串,默认为转换,值为true</param>
        /// <returns></returns>
        public static List<T> ToList<T>(this DataTable dt, bool dateTimeToString) where T : class, new()
        {
            List<T> list = new List<T>();
           
            if (dt != null)
            {
                List<PropertyInfo> infos = new List<PropertyInfo>();
                Array.ForEach<PropertyInfo>(typeof(T).GetProperties(), p =>
                {
                    if (dt.Columns.Contains(p.Name) == true)
                    {
                        infos.Add(p);
                    }
                });
                SetList<T>(list, infos, dt, dateTimeToString);
            }
            return list;
        }
        #region 私有方法
        private static void SetList<T>(List<T> list, List<PropertyInfo> infos, DataTable dt, bool dateTimeToString) where T : class, new()
        {
            foreach (DataRow dr in dt.Rows)
            {
                T model = new T();
                infos.ForEach(p =>
                {
                    if (dr[p.Name] != DBNull.Value)
                    {
                        object tempValue = dr[p.Name];
                        if (dr[p.Name].GetType() == typeof(DateTime) && dateTimeToString == true)
                        {
                            tempValue = dr[p.Name].ToString();
                        }
                        try
                        {
                            p.SetValue(model, tempValue, null);
                        }
                        catch { }
                    }
                });
                list.Add(model);
            }
        }
        #endregion
    }

反射,DataRow转换为实体类 反射,DataRow转换为实体类 反射,DataRow转换为实体类 反射,DataRow转换为实体类 立即下载

相关推荐

将DataRow转成指定类型的类,并返回这个类的对象(带值)

/// <summary>         /// 将DataRow转换成指定类型         /// </summary>         /// <param u00a0name=”pDataRow”></param>         /// <param u00a0name=”pType”>实体类</param>         /// <returns></returns>         private Object ConvertToEntity(DataRow pDataRow, Type pType)         {             Object entity = null;   

C# DataRow 转 Model 对象 再也不用一个字段一个字段去写了

【代码】C# DataRow 转 Model 对象 再也不用一个字段一个字段去写了。

Admans的专栏 1079

RocketMq面板访问异常 com.alibaba.fastjson.JSONException: not close json text, token : string

rocketmq JSONException: not close json text, token : string 问题解决

qq_21067307的博客 5573

C# DataTable小结(模糊查询、替换数据、列转换成数组或者List、DataRow[]转换DataTable)

dtModel.AsEnumerable().Select(a => { foreach (DataColumn dc in dtModel.Columns) { if (dc.ColumnName == "名称") { ...

潘达小新 3998

PyMiMi实战指南:midas_api配置与连接测试详解

本文详细介绍了PyMiMi库中midas_api的配置与连接测试全流程。从环境准备、API密钥获取,到核心的url_cfg配置函数使用,再到通过test_url进行连接验证,提供了清晰的步骤和代码示例。文章重点解析了配置原理、常见错误排查方法(如401错误、连接超时),并强调了API密钥的安全性管理,帮助用户稳固建立Python与Midas Civil NX之间的自动化通信桥梁。

weixin_29044713的博客 684

FakeNewsGPT4:通过知识增强的大规模视觉语言模型推进多模态假新闻检测

当前,多模态假新闻的大量涌现导致了显著的分布差异,这一现状亟需我们开发具备广泛适用性的检测器。然而,现有假新闻检测器因特定领域内的训练方式,难以有效获取开放世界中的事实信息。这种训练的封闭性限制了传统检测器的能力,特别是在面对跨域假新闻时,其表现往往不尽如人意。具体而言,开放世界中的假新闻在两个方面具有显著的分布差异:一方面,其操纵内容多种多样,新闻的任一部分都可能受到创意策略的操控;另一方面,真实背景复杂多变,不同地区的新闻背景和主题焦点存在显著差异。

qq_52053775的博客 821

C# 利用反射将DataRow[]转换为List<T>对象

【代码】C# 利用反射将DataRow[]转换为List<T>对象。

xing917502的博客 968

【2025最新版】间接平差——以水准网平差为例 (python详细过程版)

水准网间接平差的python代码实现。博客长期更新,本文最新更新时间为:2025年5月20日。

点云侠的博客 1702

支持DataRow类型显现转换为Model类型的Model模板(动软,C#)

<# TableHost host = (TableHost)(Host); host.Fieldlist.Sort(CodeCommon.CompareByintOrder); #> using System; using System.Text; using Syste

showtime5156的专栏 4110

RD算法(一)初出茅庐 —— 算法原理

在《SAR成像概述》的第4节已经对各种SAR成像算法进行了一个简要的概述,本文就直接从RD算法讲起了。

5283

2026必学:LangChain+Playwright爬虫,赋能RAG智能问答系统

RAG(检索增强生成)智能问答系统的效果,80%取决于数据源的质量。2026年,LangChain与Playwright的组合成为企业级RAG数据采集的黄金搭档:LangChain提供标准化的RAG数据处理链路,Playwright解决动态网页渲染的核心痛点,两者结合能高效采集、结构化处理各类网页数据(动态渲染页、复杂交互页、反爬页),为RAG系统提供高质量语料。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1705

List转Datatable 新方法

方法1,最简单的转换 DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); dt.Rows.Add(new object[]{ 0,"顶层菜单"}); foreach (var cm in comdList)...

weixin_34367845的博客 389

爆肝整理:微信公众号文章HTML编写完整规范,运营必备手册

微信公众号文章排版总是出错?📱 这份完整的HTML编写规范文档帮你彻底解决!文档包含所有支持的标签、CSS属性、实用代码模板和注意事项 📋,让你快速掌握微信文章的HTML编写技巧,告别第三方编辑器依赖 ✅

XiaoqiangClub的博客 2301

DataTable转实体Model,DataRow转实体Model,DataTable转泛型T,DataRow转泛型T

前言,此方法利用反射将DataRow转成实体,由于反射性能不行,大家就看看就行了吧。 代码来啦 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; ...

weixin_30258901的博客 236

华为OD机试真题2025双机位A卷 Java&Go 实现【采购订单】

在一个采购系统中,采购申请(PR)需要经过审批后才能生成采购订单(PO)。每个PR包含商品的单价(假设相同商品的单价一定是一样的)及数量信息。系统要求对商品进行分类处理:单价高于100元的商品需要单独处理,单价低于或等于100元的相同商品可以合并到同一采购订单PO中。针对单价低于100的小额订单,如果量大可以打折购买。

MISAYAONE的博客 1257

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

泛型+自定义属性 实现 DataTable转换成实体类

【代码】泛型+自定义属性 实现 DataTable转换成实体类。

kalvin_y_liu的博客 366

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

c# +泛型+自定义属性 实现 DataTable转换成实体类

using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using System.ComponentModel; using System.Diagnostics;...

weixin_30770783的博客 298

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C#通过反射将DataRow转换成对应实体对象

public static T D2E(DataRow r) { T t = default(T); t = Activator.CreateInstance(); PropertyInfo[] ps = t.GetType().GetProperties(); foreach(var

tjzhuchong的专栏 4912

DataSet转换为泛型集合和DataRow 转成 模型类

public static class TransformToList { /// <summary> /// DataSet转换为泛型集合 /// </summary> /// <typeparam name="T"&gt...

weixin_34038652的博客 571

DataTable转化为泛型集合

前一段时间。由于做机房重构基本思路都没有搞清楚,然后周围接触的概念太多了,就想一開始什么都加上,不堪重负,起步非常慢。后来经亮哥提点,一点一点的加东西。就好非常多了。 对于泛型集合,前面有非常多男神女神已经写的非常具体了。可是知识自己总结的才干算是印脑子里了。我就写写自己的理解吧。 看完关于泛型集合的相关资料(博客、设计模式...

weixin_30596343的博客 161

利用泛型和反射,管理配置文件,把Model转换成数据行,并把数据行转换成Model

利用泛型和反射,管理配置文件,把Model转换成数据行,并把数据行转换成Model 使用场景:网站配置项目,为了便于管理,网站有几个Model类来管理配置文件, 比如ConfigWebsiteModel 用来管理基本信息 ConfigSeoModel 用来管理SEO信息 ConfigCacheModel 用来管理网站缓存信息 不用Model之间不能有重名属性字段 ...

145

ModelHelper类

public class ModelHelper <T> where T : new()  {    public static T ConvertModel(DataRow dr)    {      T t = new T();      Type modelType = t.GetType();      foreach (PropertyInfo p in modelType....

weixin_33816611的博客 568

DataTable转泛型

public class DataHelper { /// /// 多个DataRow转换泛型集合 /// /// /// /// public static List ConvertTo(List rows) { List li

..小程小小小.. 817

泛型

前言: 在机房重构的过程,以学生查看余额为例功能为例,我刚开始会从D层传回一个datable类型的表,一直传到了U层,然后再根据datable的行号和列号往各个文本框中赋值,这样我就必须要知道数据库中字段的结构顺序,这样U层和D层之间的耦合大大增大,这当然不是我们想要的了,还有一点是有时我想返回一个datatable类型的表和一个Boolean类型,如何同时返回多种类型的数据?这就引来了泛型。

努力发光呀 586

将DataRow转换成相应的对象(通用以及泛型操作)

原文地址http://www.cnblogs.com/jasenkin/archive/2011/02/15/datarow_to_entity_or_generic_type.html 相关文献:http://www.cnblogs.com/dyfzwj/archive/2011/04/16/2017916.html   一直以来对框架非常感兴趣,对大多数框架(目前本人看过的)来说一般分为三

jjhua的专栏 1178
上一篇: 吃豆子过桥问题
下一篇: c#中文字大全,转换为字符串格式
make1828
博客等级 码龄19年 60粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值