重构——DataTable转泛型】的更多相关文章

     泛型简单介绍         泛型能够最大限度的重用代码.保护类型的安全.提高性能.         泛型最常见的用途是创建集合类         泛型数据类型中使用的信息可在执行时通过反射获取.         能够创建自己的泛型接口.泛型类.泛型方法.泛型事件.泛型托付.           个人理解         我所使用使用的泛型是一个list<>集合.仅仅是集合中的每个元素都是一个实体,而每个实体都相当于DataTable中的一条记录.DataTable是多条记录的集合,…
写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中主要使用了反射的方式动态的为属性赋值以及取值. public static class Extension { /// <summary> /// 将datatable转换为泛型集合 /// </summary> /// <typeparam name="TEntity…
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///TestTableModel 的摘要说明 /// </summary> public class TestTableModel { public int D_Id { get; set; } public string D_Name { get; set; } public str…
前言,此方法利用反射将DataRow转成实体,由于反射性能不行,大家就看看就行了吧. 代码来啦 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Reflection; using System.Text; namespace WangSql.DBUtility { public class DataMapHelper { private enum…
在开发ASP.NET Web API或ASP.NET MVC时,我们从数据库得到的数据往往是DataSet或是DataTable.为了能让前端JQuery能方便使用至这些数据,我们需要把这些数据转换为泛型List<T>或是JSON. Insus.NET有把这个转换功能写成一个扩展方法: 方法源代码: public static List<T> ToList<T>(this DataTable dt) { var columnNames = dt.Columns.Cast…
在.net项目研发过程中,有时候需要将从数据库中获取的DataTable数据类型,转换为泛型集合,然后运用LINQ对集合进行操作,我将此总结一下,方便你我他. 核心类: public class DatatableToList<T> where T : new() { public List<T> ConvertToList(DataTable dt) { List<T> ts = new List<T>(); Type type = typeof(T);…
最近在做WCF,因为是内部接口,很多地方直接用的弱类型返回(DataSet),这其实是一种非常不好的方式,最近将项目做了修改,将所有接口返回值都修改成强类型,这样可以减少很多与客户端开发人员的沟通,结构内容一目了然 很多时候,后台我们通过ADO.NET使用SQL语句查询出了想要的数据,这时如果直接把这个DataSet丢给客户端开发人员,会让他们一头雾水,并且维护扩展起来都很麻烦,所以想了一个办法,在服务端,首先我们把查询到的数据集转换成泛型集合,再返回给客户端,客户端可以直接使用,也可以再自行转…
背景:在项目中,sql语句检索返回DataTable,然后根据检索结果做进一步的操作,本篇文章即是介绍如何将DataTable快速生成泛型List返回. 假设存在如下学生类: public class student { public int ID { get; set; } public string StuName { get; set; } public string CityCode { get; set; } } 存在如下数据表Student: 1.泛型List,其C#代码如下: da…
前言 我们都知道在机房重构的时候,大多数都在用七层进行重构,每一层都依赖实体.所以不管怎么调用,返回的应该是实体参数,这样才符合大多数的逻辑,这样我们试想一下,如果我们要求在U层返回多个实体值,怎么办,返回一个布尔进行B层的判断,这些问题,根据SQLHelper,增.删.改.查四条线,分为了无参和有参两种类型,查询的时候我们要求返回一个datatable,可是如果单单用这个datatable返回会不会么有实体的事情了.所以这时候泛型就出来了.在我看来它集成了所以实体的集合,方便,简单,减少内存的…
public static class ExtensionMethods{/// <summary>/// 将List转换成DataTable/// </summary>/// <typeparam name="T"></typeparam>/// <param name="data"></param>/// <returns></returns>public stati…