返回泛型集合的SqlDBHelper】的更多相关文章

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Entity; using System.Diagnostics; using System.Data.SqlClient; using System.Data; using System.Configuration; namespace DAL { public class SqlDBHelper { priva…
坤哥见我昨天找了一段代码,如下面: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我,假设实体有500多个属性,难道也要这样一条一条的写吗?假设返回多个实体时怎么办?这时,我才意识到自己的代码时非常有问题的.原来设计的是每一个方法最多返回一个实体,可是当遇到查询到多条记录的时候,就又冒着破坏三层结构的事返回Datatable去了,真的是非常有问题啊. 怎么改.我脑海中一下子就浮现了老办法:数组+循环,用循环读条读取列…
一般我们用使用ADO.NET查询数据库返回泛型集合使用SqlDataReader逐行读取数据存入对象 代码 }…
昨天找坤哥看到我的一段代码.例如以下: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我.假设实体有500多个属性.难道也要这样一条一条的写吗?假设返回多个实体时怎么办?这时.我才意识到自己的代码时非常有问题的,原来设计的是每一个方法最多返回一个实体,可是当遇到查询到多条记录的时候.就又冒着破坏三层结构的事返回Datatable去了.真的是非常有问题啊. 怎么改,我脑海中一下子就浮现了老办法:数组+循环,用循环读条读…
定义一个类: public class UserInfo    {        public System.Guid ID { get; set; } public string LoginName { get; set; } public string LoginPwd { get; set; }    } /// <summary> /// 获取UserInfo泛型集合 /// </summary> /// <param name="connStr"…
在机房重构时.我们常常会用到ConvertHelper. 它把从数据库中查询到的dateTable(也是一个暂时表)转化为泛型,然后再填充到DataGridView控件中. ConvertHelper类有两点体现了面向对象的思想.一是由于它是常常被使用而被封装起来的类.二是由于它的返回值是泛型集合,泛型集合使存储数据时灵活而安全,也体现了面向对象的思想. ConvertHelper与sqlHelper                        一開始接触ConvertHelper,以为它和s…
1: /// <summary> 2: /// 对比两个同类型的泛型集合并返回差异泛型集合 3: /// </summary> 4: /// <typeparam name="T">泛型类型</typeparam> 5: /// <param name="newModel">修改后的数据集合</param> 6: /// <param name="oldModel"&g…
开会的时候,师父说.我们在机房重构时,尽量不要用datatable作为返回值.改用泛型集合的方式,这样能够实现真正的面向对象. 通过查资料和同学交流,把这个问题给攻克了. 对于泛型集合.我也有了一些认识. 一.对泛型集合的认识 1.存在于System.Collection,Generic的命名空间中,在用的时候.须要引用 2.泛型是具有占位符(类型參数)的类,结构,接口和方法.就是说,在泛型集合中增加的数据必须符合指定的类型<T>,否则编译时就会报错. 以上为设计模式培训实习生的内容. 那泛型…
1.DataSet装换为泛型集合(注意T实体的属性其字段类型与dataset字段类型一一对应) #region DataSet装换为泛型集合 /// <summary> /// 利用反射和泛型 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static List<T> ConvertToList&l…
1.虚方法 virtual 重写 override 父类中的方法,在子类中并不适用,那么子类需要自主更改继承的方法或者是属性,那父类中加了virtual关键字的方法才可以被子类重写,子类重写父类的方法使用的是override关键字 例: 我们都知道,喜鹊(Magpie).老鹰(Eagle).企鹅(Penguin)都是属于鸟类,我们可以根据这三者的共有特性提取出鸟类(Bird)做为父类,喜鹊喜欢吃虫子,老鹰喜欢吃肉,企鹅喜欢吃鱼. 创建基类Bird如下,添加一个虚方法Eat(): /// <sum…