一、直接使用C#操作数据库的类库ADO.NET
ADO.NET使用Connection对象来连接数据库,使用Command或DataAdapter
对象来执行SQL语句,并将执行的结果返回给DataReader或DataAdapter,然后
再使用取得的DataReader或者DataAdapter对象操作数据结果。
二、Entity Framework
Entity Framework 实体框架是微软的一个ORM框架。是支持面向数据的软件开
发应用程序。我们一般配合linq和lambda表达式使用。
ORM((Object Relational Mapping对象关系映射)指的是面向对象的对象模型和
关系型数据库的数据结构之间的互相转换。(表实体跟表之间的相互转换)
LINQ查询:当我们使用linq查询时,转到定义会调到Queryable 类, 那么也就是
说,这个类封装了linq所有查询的方法,提供一组用于查询实现 IQueryable
的数据结构的 静态方法。
IQueryable和IList一样,是用于接收一组数据的集合, IQeurable
(IQuerable)不会立即在内存里创建持久数据,只有遍历它(如通过
foreach)、把它转换成List等情况下才会向内存加载数据,它可以实现“延期执
行”,如果当前被加载的实体有关联实体(associations),此关联实体可被接下
来的访问加载。
Ilist-继承顺序如下:
Ilist->ICollection ->IEnumerable
IEnumerable它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简
单的迭代
同样的IQueryable也继承自IEnumerable这一泛型接口
Queryable类提供了扩展的基本查询方法:Where,Select
select提供方法如下:
public static IQueryable Select(this
IQueryable source, Expression>
selector);
where提供的方法如下:
public static IQueryable Where(this
IQueryable source, Expression>
predicate);
public static IQueryable Where(this
IQueryable source, Expression>
predicate);