什么是LINQ

长期以来,开发社区形成以下的格局:

1、面向对象与数据访问两个领域长期分裂,各自为政。

2、编程语言中的数据类型与数据库中的数据类型形成两套不同的体系,例如:

  C#中字符串用string数据类型表示。

  SQL中字符串用NVarchar/Varchar/Char数据类型表示。

3、SQL编码体验落后

  没有智能感知效果。

  没有严格意义上的强类型和类型检查。

4、SQL和XML都有各自的查询语言,而对象没有自己的查询语言。

上面描述的问题,都可以使用LINQ解决,那么究竟什么是LINQ呢?

LINQ(Language Integrated Query)即语言集成查询。

LINQ是一组语言特性和API,使得你可以使用统一的方式编写各种查询。用于保存和检索来自不同数据源的数据,从而消除了编程语言和数据库之间的不匹配,以及为不同类型的数据源提供单个查询接口。

LINQ总是使用对象,因此你可以使用相同的查询语法来查询和转换XML、对象集合、SQL数据库、ADO.NET数据集以及任何其他可用的LINQ提供程序格式的数据。

LINQ主要包含以下三部分:

1、LINQ to Objects      主要负责对象的查询。

2、LINQ to XML           主要负责XML的查询。

3、LINQ to ADO.NET   主要负责数据库的查询。

  LINQ to SQL

  LINQ to DataSet

  LINQ to Entities

三、LINQ的优势

1、熟悉的语言:开发人员不必为每种类型的数据源或数据格式学习新的语言。

2、更少的编码:相比较传统的方式,LINQ减少了要编写的代码量。

3、可读性强:LINQ增加了代码的可读性,因此其他开发人员可以很轻松地理解和维护。

4、标准化的查询方式:可以使用相同的LINQ语法查询多个数据源。

5、类型检查:程序会在编译的时候提供类型检查。

6、智能感知提示:LINQ为通用集合提供智能感知提示。

7、整形数据:LINQ可以检索不同形状的数据。

最新文章

  1. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [二] 基本使用
  2. 接触到得到新语言里面涉及到很多关于ECMscript相关知识,所以还是来总结一下吧
  3. [充电]多线程无锁编程--原子计数操作:__sync_fetch_and_add等12个操作
  4. 读javascript高级程序设计13-JSON
  5. TCP/IP详解 笔记十
  6. HW3.4
  7. UVA_Digit Puzzle UVA 12107
  8. CSS找到 (div+css请讲)
  9. poj 1699 Best Sequence(AC自己主动机+如压力DP)
  10. iOS正则表达
  11. alsa声卡分析alsa-utils调用过程
  12. Shell基础命令(二)
  13. 论文阅读(Weilin Huang——【ECCV2016】Detecting Text in Natural Image with Connectionist Text Proposal Network)
  14. angular ViewChild ContentChild 系列的查询参数
  15. UCloud双11活动 - 新人UCloud代金券最低年100元香港云服务器
  16. git的安装以及生成ssh key
  17. English trip V1 - B 22. Here,There and Everywhere 无处不在 Teacher:Taylor Key: Be + Ving
  18. Python数据分析中对重复值、缺失值、空格的处理
  19. PHP安全之Web攻击(转)
  20. 关于Unity中Vector2和Vector3的使用

热门文章

  1. MySql 存储大量长字节 Text报错处理办法
  2. arm汇编笔记
  3. RN开发-Navigator
  4. 心里没点B树,怎能吃透数据库索引底层原理?
  5. mysql远程链接(可以在服务器上配置然后在本地连接远程服务器)
  6. Windows ThinPC 7 部署后续设置与本地化
  7. SpringBoot--SSM框架整合
  8. K3老单序时簿开发示例
  9. Java EE开发课外事务管理平台
  10. sql developer执行sql文件