DataReader转换】的更多相关文章

 public static T ReaderToModel<T>(IDataReader dr) { try {  using (dr) {  if (dr.Read()) {  Type modelType = typeof(T);  T model = Activator.CreateInstance<T>();  for (int i = 0; i < dr.FieldCount; i++) {  PropertyInfo pi = modelType.GetProp…
public static partial class Extension { private static ConcurrentDictionary<Type, ConcurrentDictionary<string, PropertyInfo>> typePropertyCache = new ConcurrentDictionary<Type, ConcurrentDictionary<string, PropertyInfo>>(); private…
前段时间通过网上查找,使用emit将Datatable,DataReader转换成List<T>了.这是从数据库到展示. 但是最近整理Hikari(我写的数据库连接池),发现c#里面数据库客户端驱动一般会提供一个BulkCopy的类,一般接口是DataTable,可以批量插入.所以又研究了如何把List<T>转DataTable. 一般方法是全部反射,我就不说了.这里只说emit,记录下下次用. 这里创建动态方法(委托)有个范围问题.我举个例子 假如有Pseron类. public…
前言:作为linq的一个组件,同时作为ADO.NET的一个组成部分,LINQ TO SQL提供了将关系数据映射为对象的运行时基础结构. LINQ TO SQL是通过将关系数据库对象的数据模型(如一个数据表)映射为开发人员所选编程语言中定义的对象模型来工作.所以需要在c#中定义的一个公共类.公共类的定义和映射是通过使用LINQ中的TableAttribute对类进行注释,并将SQL Server中要映射的表的名称传递给属性的Name来实现.这样就完成了关系映射,将一个数据模型映射到一个对象模型.下…
发布一个自己写的一个轻量级ORM框架,本框架设计期初基于三层架构.所以从命名上来看,了解三层的朋友会很好理解. 设计该框架的目的:不想重复的写增删改查,把精力放到功能实现上. 发布改框架的原因:希望给初学者一个参考,希望能给予好的建议,给自己一个展示机会. 在我开始之前,先说明一下,我对"软件工程学"概念东西几乎不通,最高文化程度:初二,所以不喜勿喷. 开始我的orm设计最底层 最底层的是一个DalBase,它是一个抽象的,实现了增删改查的基本操作. 它既然是一个抽象的,那么它的内部就…
{ 题外拓展:把datatable插入dataset DataTable fuben = new DataTable();//定义的datatablefuben = table.Tables[0].Copy(); 把获取的datatable复制到新的表中fuben.TableName = "sheet" + userid + "";定义表名ds.Tables.Add(fuben);插入dataset 之所以这么麻烦是因为 我用了返回dataset的方法来获取的dat…
调用 : public ActionResult Index() { DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Age"); dt.Columns.Add("RegisterTime123"); dt.Columns.Add("Last123LoginTime"); dt.Columns.Add("Active&qu…
接口: using Common; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Data.Entity; using System.Data.Entity.Infrastructure; using System.Linq; using System.Linq.Expressio…
说明:此篇文章是给那些和我一样仍在使用ADO.NET访问数据库的.NET开发人员写的,因为某些原因,比如还在使用.NET3.0以下版本开发.NET应用或者所使用的数据库对ORM支持不是很好,或者是对ORM的性能有所怀疑(其实在访问量不是很大的情况下没有必要过分追求性能的极限)等等,这部分人仍在使用传统的ADO.NET来访问数据库,他们或手写或采用代码生成工具来生成实体类和增删改查的SQL语句,在将DataTable或者DataReader转换成对应的实体类的时候仍需要一行行写代码,本类就是为了解…
最近在学习web后台以及Python,到了程序员的转折年纪了,哎.估计很久不会写博文了.言归正传. 在原理的数据库连接池HiKari项目上.我扩展了独立的3个库,说是3个库,其实原本该是一个库.先聊聊这个库,库完全独立,只是因为是数据库操作,所以放在一起了,其实现在完全没有关联.这几个库的作用就是我们常用的功能,实体转换.将DataTable,DataReader转换成实体.基本类库采用的是反射,表达式树进行转换.另外2个库是分别补充.net core库和.net framework库使用emi…
上一张优化了ORM的INSERT.UPDATE.DELETE,但将数据库里的值填充到实体类这块还没优化.另外有博友在网上咨询说你这个都是查询所有字段的,而他的需求是按需查询字段,不是一次性取出来所有字段的,在这里我请这位朋友耐心等待,这个会在后面章节提到的.这次我们先优化datareader->entity,将数据库里的值Mapping到实体类里,我们常用的有两种办法第一种是采用EMIT方式,第二种是采用Expression tree表达式,这两种方案在性能上差异不大,但写法上第二种较第一种比较…
通过前3章文章,大致对ORM有一定的了解,但也存在效率低下(大量用了反射)和重复代码,今天我们要对ORM进行优化. 具体流程如下: 我们优化的第一个就是减少反射调用,我的思路是定义一个Mapping,把表名.字段名信息缓存起来,EntityMapping 表示实体类信息对应数据库中的table,MemberMapping表示实体类的属性对应数据库中的Column. EntityMapping代码: class EntityMapping { /// <summary> /// 对应实体类类型…
使用NPOI操作Excel,无需Office COM组件 部分代码来自于:https://docs.microsoft.com/zh-tw/previous-versions/ee818993(v=msdn.10)?redirectedfrom=MSDN using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.HSSF.UserModel; using NPOI.SS.UserMode…
以前介绍类自定义的Hikari项目,定位于数据库连接池:后扩展了,根据文件名称,以数据库配置文件为基础,支持按照名称多数据操作. 在使用中,发现扩展了SQL语句参数化操作,在管理类中,以扩展方法存在. 配合数据库操作,创建实体转换项目EntityMappingDBEmit,采用emit方式,将DataTale,DataReader转换成List<T>. 该项目地址:https://github.com/jinyuttt/EntityMappingDBEmit.git: 在Hikari项目上,配…
http://blog.csdn.net/heyangyi_19940703/article/details/52292755 http://www.cnblogs.com/zhengjuzhuan/archive/2010/02/01/1661103.html http://www.cnblogs.com/stone_w/archive/2012/08/02/2620528.html http://www.cnblogs.com/restran/p/3889479.html http://bl…
C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// <summary> /// 过滤特殊字符 /// </summary> /// <param name="s">字符串</param> /// <returns>json字符串</returns> private s…
1.使用DataSet和DataTable绑定数据源时,用 DataRowView view = (DataRowView)e.Item.DataItem; 2.DataReader绑定数据源时,用 System.Data.Common.DbDataRecord view = (System.Data.Common.DbDataRecord)e.Item.DataItem; 3.使用泛型做数据源时,则是泛型对应的类型,例如List<AttachFile> 为数据源,则 AttachFile v…
Datareader对象不能关使用new关键字创建.但可以使用ExecuteReader()方法创建. DataReader是一行一行的读取记录的.当记录中有数据时Read()返回TRUE,当到记录集底部时返回FALSE. 重要属性: FieldCount:获取当前行中的列数. HasRows:获取一个值,该值指示 SqlDataReader 是否包含一行或多行. NextResul:当执行的是sql存储程序,或是可返回多个结果集的批处理sql语句时,该方法将当前行指针移到下一个结果集 (该操作…
http://www.cnblogs.com/ASPNET2008/archive/2012/10/27/2742434.html 最近一年的项目,我主要负责一些小型项目(就是指企业内部的小项目),在数据库操作方面我们采用了以开发速度快为特点的Linq to Entity,这里我不多讲它的使用方法,先来分享下我认为还不错的几个地方:        1:某种情况下可以完全代替传统SQL开发      这里是指比较简单的数据库处理,比如查询,几个表关联查询及添加数据,更新数据,删除数据等,不包含特别…
ConvertJson.cs类 using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using System.Collections; using System.Data.Common; namespace DotNet.Utilities { //JSON转换类 public class ConvertJson { #regi…
一.DataReader含义 DataReader相比于DataSet,DataReader是一个抽象类,所以不能用DataReader DR = new DataReader(),来构造函数创建对象,如果要创建一个DataReader对象,必须通过command对象的ExecuteReader方法. DataReader对象访问数据的方式,只能顺序读取数据,而且不能写入数据(这点DataSet占据绝对的优势),所谓的顺序读取数据是将数据表中的行从头至尾一次读出.DataReader被创建时,纪…
#region List转换成Json /// <summary> /// List转换成Json /// </summary> public static string ListToJson<T>(IList<T> list) { ]; return ListToJson<T>(list, obj.GetType().Name); } /// <summary> /// List转换成Json /// </summary>…
MXS&Vincene  ─╄OvЁ  &0000010 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好,但是绝大部分人是死在明天晚上,只有那些真正的英雄才能见到后天的太阳. MXS&Vincene  ─╄OvЁ:We're here to put a dent in the universe. Otherwise why else even be here? 正文>>>>>…
C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// <summary> /// 过滤特殊字符 /// </summary> /// <param name="s">字符串</param> /// <returns>json字符串</returns> private s…
#region List转换成Json /// <summary> /// List转换成Json /// </summary> public static string ListToJson<T>(IList<T> list) { object obj = list[0]; return ListToJson<T>(list, obj.GetType().Name); } /// <summary> /// List转换成Json…
此文转自:http://bbs.csdn.net/topics/380200497,为了方便自己记忆才以文章形式保存. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using System.Collections; using System.Data.Common;   namespace DotNet.Utilitie…
点击下载 ConvertJson.rar 本类实现了 C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json|等功能大家先预览一下 请看代码 /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:[url=http://www.sufeinet.com/thread-655-1-1.html]http://www.sufeine…
菜鸟一枚,入园已有两年三个月,这还是第一次写博客,请各位大神斧正. 这是我写的一个工具类,通常我们从数据库查询到一个  DataReader  或者是  一个 Table , 想要转换成 一个 list 或者是 一个model 的话 , 一般情况下是使用foreach 循环reader或是table的rows,然后在循环内创建个对象,通过reader[“列名”]来赋值对象的属性.如果表的字段少的话,用这种方式还可以,速度也快一点.但是如果后续还会增加字段的话,那就非常麻烦了,要改很多地方.这工作…
实体类的字段类型要和数据库一致,不然可能会出现错误. /// <summary> /// DataReader转泛型 /// </summary> /// <typeparam name="T">传入的实体类</typeparam> /// <param name="objReader">DataReader对象</param> /// <returns></returns&g…
前: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DataReader对象.aspx.cs" Inherits="WebApplication1.DataReader对象" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h…