摘要:
一、为什么要使用LINQ 要理解为什么使用LINQ,先来看下面一个例子。假设有一个整数类型的数组,找到里面的偶数并进行降序排序。 在C#2.0以前,如果要实现这样的功能,我们必须使用'foreach'或'for'循环来遍历数组,先找到偶数然后在降序排序,相关代码如下: 使用for循环很麻烦,而且不可 阅读全文
摘要:
在上一篇文章中讲解了什么是反射,以及利用反射可以获取程序集里面的哪些内容。在平时的项目中,可能会遇到项目需要使用多种数据库,这篇文章中将会讲解如何利用反射实现访问多种数据库。 项目整体结构如下图所示: 1、Database.Instance是一个类库文件,IDBHelper是一个接口,封装的访问数据 阅读全文
摘要:
先看下面一个动物点名系统的简单例子: 有一个Animal的抽象动物父类,里面定义了Name、Age两个属性和一个Shout()方法,Animal类定义如下: 分别定义Cat、Dog类继承自Animal类,Cat类定义如下: Dog类定义如下: 应用场景:在一个控制台程序中,输入具体的动物的类型,根据 阅读全文
摘要:
最近在项目中使用了Linq,想把Linq的查询结果直接转换成DataTable对象,通过查找发现Linq有一个CopyToDataTable<T>的泛型方法,该方法只能在T是DataRow的情况下使用,发现了这个方法以后就直接在项目中使用了,但是在使用的过程中发现,如果Linq的查询结果不包含任何D 阅读全文
摘要:
在Entity Framework中讲解了EF如何支持存储过程,同样,Dapper也支持存储过程,只需要在Query()方法的CommandType中标记使用的是存储过程就可以了。在Users表上面创建如下的存储过程: 调用存储过程的代码如下: 运行过程: 注意:例子中只演示了使用一个参数的存储过程 阅读全文
摘要:
在这篇文章中,讲解如何使用Dapper使用Inner join的操作 1、新创建两张表:Users表和Product表 Users表定义如下: Product表定义如下: 查看Users表和Product表会发现两张表通过UserId外键关联起来,然后我们需要在Product实体类上面进行修改,添加 阅读全文
摘要:
使用Dapper的QueryMultiple方法可以一次执行多条SQL语句,返回多个结果集,代码如下 程序运行结果: 注意:Read获取的时候必须是按照上面返回表的顺序 比如上面先查询的Users表,那么Read的时候必须先返回Users表,否则返回没有数据。Read<T>里面的T泛型类不一定要和数 阅读全文
摘要:
IN 操作符允许我们在 WHERE 子句中规定多个值。 本篇文章中,还是使用和上篇文章中同样的实体类和数据库,Dapper使用in操作符的代码如下: 程序运行结果: 示例代码下载地址:https://pan.baidu.com/s/1o7RokDs 阅读全文
摘要:
在上一篇文章中,讲解了如何安装Dapper,这篇文章中将会讲解如何使用Dapper使用CURD操作。 例子中使用到的实体类定义如下: 注意:在使用下面的方法之前要首先引入Dapper的命名空间:Using Dapper; 一、插入数据 1、使用匿名类插入数据 查询数据库: 2、使用实体类插入数据 查 阅读全文
摘要:
一、Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS。 如果你在项目中遇到性能访问问题,选择Dapper作为ORM框架可能是明智之举,当然也可以使用Entity Framework或NHibernat 阅读全文