- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《MVC与LINQ参考资料二》.pdf
ASP.NET MVC 与 LINQ 参考文档
第二部分: 查询表达式(LINQ)简介
LINQ 是 Language Integrated Query 的简称,它是集成在.NET 编程语言中的一种特性。已
成为编程语言的一个组成部分,在编写程序时可以得到很好的编译时语法检查,丰富的元数
据,智能感知、静态类型等强类型语言的好处。并且它同时还使得查询可以方便地对内存中
的信息进行查询而不仅仅只是外部数据源。
LINQ 定义了一组标准查询操作符用于在所有基于.NET 平台的编程语言中更加直接地声明跨
越、过滤和投射操作的统一方式,标准查询操作符允许查询作用于所有基于 IEnumerableT
接口的源,并且它还允许适合于目标域或技术的第三方特定域操作符来扩大标准查询操作符
集,更重要的是,第三方操作符可以用它们自己的提供附加服务的实现来自由地替换标准查
询操作符,根据 LINQ 模式的习俗,这些查询喜欢采用与标准查询操作符相同的语言集成和
工具支持。
我们来总体看看 LINQ 架构
在.NET3.5 下,微软为我们提供了一些命名空间
LINQ 包括五个部分:LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、
LINQ to XML。
LINQ to SQL 全称基于关系数据的.NET 语言集成查询,用于以对象形式管理关系数据,并提
供了丰富的查询功能。其建立于公共语言类型系统中的基于 SQL 的模式定义的集成之上,当
保持关系型模型表达能力和对底层存储的直接查询评测的性能时,这个集成在关系型数据之
上提供强类型。
LINQ to XML 在 System.Xml.LINQ 命名空间下实现对 XML 的操作。采用高效、易用、内存中
的XML 工具在宿主编程语言中提供 XPath/XQuery 功能等。
说了这么多,我们还是用一个简单的实例说明一下 LINQ 带来的体验。
第一步:建立 dbml (Database Mark Language。数据库描述语言,是一种xml 格式的文档,
用来描述数据库)文件,以 Northwind 数据库为例,上述 Customers 类被映射成一个表,对
应数据库中的 Customers 表
第二步:创建一个 ASP.NET 页面,在页面上加入一个 GridView 控件
第三步:编写代码进行数据绑定
第四步:运行显示结果。
好了,就说这么多吧,大家应该对 LINQ 有了总体的了解。最后我对 LINQ 还有一点疑惑,在
此提出,请熟悉的朋友来探讨:
1. LINQ 是在 ADO.NET 之上的,那么在将来它会代替 ADO.NET 吗?
2. 在大型项目中使用 LINQ,它的效率如何呢?
接下来,我们开始从 LINQ to SQL 语句入手,来全面了解一下 LINQ,就从最简单的Where
说起吧,这个在编写程序中也最为常用。
Where 操作
适用场景:实现过滤,查询等功能。
说明:与 SQL 命令中的 Where 作用相似,都是起到范围限定也就是过滤作用的,而判断条件
就是它后面所接的子句。
Where 操作包括 3 种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实
例举例下:
1.简单形式:
例如:使用 where 筛选在伦敦的客户
var q =
from c in db.Customers
where c.City == London
select c;
再如:筛选 1994 年或之后雇用的雇员:
var q =
from e in db.Employees
where e.HireDate = new DateTime (1994, 1, 1)
select e;
2.关系条件形式:
筛选库存量在订货点水平之下但未断货的产品:
var q =
from p in db.Products
where p.UnitsInStock = p.ReorderLevel !p.Discontinued
select p;
筛选出 UnitPrice 大于 10 或已停产的产品:
var q =
from p in db.Products
where p.UnitPrice 10m || p.Discontinued
select p;
下面这个例子是调用两次 where
您可能关注的文档
- 《Java核心技术 卷1 基础知识(原书第9版)》.pdf
- 《Java的23种设计模式_疯狂Java总结_》.pdf
- 《java的静态代理和动态代理》.pdf
- 《java面试笔试题(English)》.pdf
- 《java面试笔试题大汇总》.pdf
- 《JB 8167-2016-T 滚动轴承 汽车发电机轴承 技术条件》.pdf
- 《JB 8925-2016-T 滚动轴承 汽车万向节十字轴总成 技术条件》.pdf
- 《JBT%209738-2016%20汽车起重机和轮胎起重机%20技术要求》.pdf
- 《JB/T 8129-2016 工业锅炉旋风除尘器 技术条件》.pdf
- 《JB/T 8207-1999 工业自动化仪表用电源电压》.pdf
文档评论(0)