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