EF(3)-Linq TO ADO.NET
来源:互联网 发布:阿里云ecs默认用户名 编辑:程序博客网 时间:2024/06/14 06:58
LInq中的group by
group element by key
element 表示查询返回的结果,key表示要分组的元素条件,group返回的结果为IGrouping<Tkey,TElement>的查询结果
范例:
1.包括Linq to DataSet和Linq to Sql
Linq 是查询语法,用于对内存里的对象集合或者数据库表进行查询;Linq to SQL 是针对SQL Server数据库设计的ORM(对象映射)方案;Entity Framework是ORM实体框架,同时支持SQL Server;Oracle 等
DataSet可以显示缓存不同数据源中的数据通过DataRowExtensions和DataTableExtensions类中的扩展方法
使用DataSet步骤
(1)、获取DataSet/DataTable数据源(2)将DataTable转化成IEnumerable(3)使用Linq语法编写查询(4)对查询结果处理
转化的扩展方法
public staticEnumerableRowCollection<DataRow> AsEnumerable(this DataTable Source)
从DataTable中获取的元素类型为DataRow,进一步访问数据表记录的具体字段数据,需要使用DataRow
的一个扩展方法Field<T>还有使用扩展方法设置字段的值SetField<>(),还有扩展方法AsDataView,转换成一个只读的
数据视图,下面是Linq to DataSet的示范
public DataSet MakeDS() { DataSet ds = new DataSet(); DataTable dt = new DataTable("user"); ds.Tables.Add(dt); string[] name = { "张胜男", "框架", "订单", "呃呃", "玩玩" }; string[] sex = { "男", "女", "男", "女", "女" }; int[] age = { 32, 44, 55, 66, 22 }; dt.Columns.AddRange( new DataColumn[]{ new DataColumn("Name", Type.GetType("System.String")), new DataColumn("Sex", Type.GetType("System.String")), new DataColumn("Age", Type.GetType("System.Int32"))} ); for (int i = 0; i < name.Count(); i++) { DataRow dr = dt.NewRow(); dr["Name"] = name[i]; dr["Sex"] = sex[i]; dr["Age"] = age[i]; dt.Rows.Add(dr); } return ds; } public void DSUtility() { DataSet ds = MakeDS(); DataTable dt = ds.Tables[0]; var query1 = from p in dt.AsEnumerable() select p; foreach (var q in query1) { Response.Write("姓名:" + q.Field<string>("Name") + "性别:" + q.Field<string>("Sex") + "年龄" + q.Field<Int32>("Age")); } var query4 = from p in dt.AsEnumerable() orderby p.Field<string>("Age") descending where p.Field<Int32>("Age") > 22 && p.Field<Int32>("Age") < 58 select p; //使用扩展方法CopyToDataTable把结果集转到一张表里,此时就可以对表操作 DataTable newDT = query4.CopyToDataTable<DataRow>(); DataView dv = query4.AsDataView(); dv.RowFilter = "Age>20"; dv.Sort = "Age asc"; }
2、Linq to Sql
提供将一种关系数据库映射到编程语言表示的对象模型,使得开发人员可以同过编程语言直接操作
数据库,数据库访问变得更加快捷高效
改变数据使用SubmitChange
2.ef4.0框架继承自ObjectContext
创建数据集ObjectSet<Customers> os=ne.CreateObjectSet<Customers>();
3.ObjectQuery类,System.Data.Objects
- EF(3)-Linq TO ADO.NET
- Linq to Entities in Ado.net EF的事务
- Linq to Entities in Ado.net EF的事务
- Linq to Entities in Ado.net EF的事务
- LINQ to ADO.NET
- Linq To Ado.net
- LINQ to ADO.NET
- LINQ系列:LINQ to ADO.NET概述
- Entity Framework (EF)/Linq To entity/ ESQL(entity sql)区别 ADO.NET Entity Framework:来自微软官方的ORM框架
- EF Provider for Access/ODBC 以及ADO.Net Entity Framework 与Linq to SQL的比较和适用场景
- ADO.Net Linq to SQL and Linq to Entities Note
- ADO.NET与LINQ to SQL
- LINQ to SQL与ADO.NET
- LINQ TO SQL 和 ADO.NET ENTITY
- ADO.NET与ORM的比较(3):Linq to SQL实现CRUD
- ADO.NET Entity Framework 学习初级篇3-- LINQ TO Entities
- ADO.NET与ORM的比较(3)Linq to SQL实现CRUD
- ADO.NET与ORM的比较(3):Linq to SQL实现CRUD
- 一步步调通Openfire3.10.2+Smack4.1.4官方Demo
- linux下搭建ftp服务器
- Java学习笔记(二)GUI组件(1)
- 黑马程序员-OC类的声明和实现,以及OC的优势
- Android系列---JSON数据解析
- EF(3)-Linq TO ADO.NET
- UNITY 5.2.1 发行说明 中文版
- C#中out和ref之间的区别
- java 接口回调经典案例--网络请求回调
- Laravel 5 系统架构:服务提供者、服务容器、Contracts、Facades
- WEB前端学习 Day 2(边框)
- samba服务器搭建
- Gvim配置
- yum命令