转发一篇分析LinQ是什么?
LINQ(发音:Link)是语言级集成查询(Language INtegrated Query)
?LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询 ?LINQ的目标是降低访问数据的复杂度 ?LINQ可以用统一的方法访问不同类型的数据,可以将数据作为对象使用 ?能够更好地与编程模型集成 ?可以在Visual Studio中进行智能提示 ?动态编程 LINQ的历史: ?从语言方面的进化 –委托 –匿名方法 –Lambda表达式 –Linq查询表达式 ?从时间方面的演进 –2004年 –2005年9月,C#2.0的PDC上发布 –2005年11月,C#2.0预览版 –2006年1月,VB8.0预览版 –2007年11月,.net 3.5发布 LINQ基础: ?语言集成查询 (LINQ) 允许开发人员通过强类型化语法使用.NET Framework 3.5 代码编写类似SQL 的查询。 ?LINQ 查询还具有一个标准查询操作符库来增强其功能。这些标准查询操作符对序列进行运算并可执行各种运算,如确定序列中是否存在某个值以及对序列运行合计函数(如求和) ?LINQ包括: –LINQ to Objects 用于对象的查询 –LINQ to XML 对XML数据的查询 –LINQ to ADO.NET 对数据库的查询 ?LINQ to DataSets 数据集 ?LINQ to Entities ORM对象 ?LINQ to SQL 简易ORM框架 ?命名空间在System.Linq ?实现 IEnumerable 或 IQueryable 接口的对象都可使用LINQ操作 LINQ框架图:

LINQ基础语法: ?From ?? In ** where … select new {}; –查询语法是以 from 关键字开头的,而不是以 select 关键字开头的? –为了IDE的智能感知(Intelisence)这个功能,select 关键字放在后面 ?例:
var q =
from c in db.Customers
where c.City == "London"
select c; ?语法与数据库的SQL命令有些相似
select * from employee where empno=7376; LINQ基础操作符: ?聚合 ?Aggregate 对序列执行一个自定义方法 ?Average 计算数值序列的平均值 ?Count 返回序列中的项目数(整数) ?LongCount 返回序列中的项目数(长型) ?Min 查找数字序列中的最小数 ?Max 查找数字序列中的最大数 ?Sum 汇总序列中的数字 ?元素 ?DefaultIfEmpty 为空序列创建默认元素 ?ElementAt 返回序列中指定索引的元素 ?ElementAtOrDefault返回序列中指定索引的元素,或如果索引超出范围则返回默认值 ?First 返回序列中的第一个元素 ?FirstOrDefault 返回序列中的第一个元素,或者如果未找到元素,则返回默认值 ?Last 返回序列中的最后一个元素 ?LastOrDefault 返回序列中的最后一个元素,或者如果未找到元素,则返回默认值 ?Single 返回序列中的单个元素 ?SingleOrDefault 返回序列中的单个元素,或者如果未找到元素,则返回默认值 ?排序 ?OrderBy 以升序按值排列序列 ?OrderByDescending 以降序按值排列序列 ?ThenBy 升序排列已排序的序列 ?ThenByDescending 降序排列已排序的序列 ?Reverse 颠倒序列中项目的顺序 ?… ?… LINQ的未来: ?一切皆可LINQ,一切皆有可能 ?程序语言向自然语言的进化 ?数据库存储在软件系统分层中更清晰 ?基于.net平台的软件体系更好应用ORM ?(来源:程序员)
转发一篇分析LinQ是什么?的更多相关文章
- NLP+语篇分析(五)︱中文语篇分析研究现状(CIPS2016)
摘录自:CIPS2016 中文信息处理报告<第三章 语篇分析研究进展.现状及趋势>P21 CIPS2016 中文信息处理报告下载链接:http://cips-upload.bj.bcebo ...
- 如何实现Http请求报头的自动转发[应用篇]
如今的应用部署逐渐向微服务化发展,导致一个完整的事务往往会跨越很多的应用或服务,出于分布式链路跟踪的需要,我们往往将从上游服务获得的跟踪请求报头无脑地向下游服务进行转发.本文介绍的这个名为Header ...
- cvpr2018(转发一篇头条)
CVPR 2018:腾讯图像去模糊.自动人像操纵最新研究 新智元 2018-05-29 14:13:04 新智元报道 来源:腾讯优图 编辑:江磊.克雷格 [新智元导读]即将在6月美国盐湖城举行的计算机 ...
- 转发一篇能看懂的关于ingress的说明
最近发现好多人问 Ingress,同时一直也没去用 Nginx 的 Ingress,索性鼓捣了一把,发现跟原来确实有了点变化,在这里写篇文章记录一下 https://mritd.me/2017/03/ ...
- .NETCoreCSharp 中级篇2-3 Linq简介
.NETCoreCSharp 中级篇2-3 本节内容为Linq及其拓展方法.Linq中表达式树的使用 简介 语言集成查询(LINQ)是一系列直接将查询功能集成到C#语言的技术统称.数据查询历来都表示为 ...
- lxd-启动篇分析
lxd是什么:lxd是基于lxc构筑的容器管理进程,提供镜像,网络,存储,以及容器的能力,对外暴漏restfull API.其与docker的区别是docker更切近与app container,以应 ...
- 转发一篇好文:36氪翻译自medium的文章: 读书没有 KPI:为什么坚持“一年读 100 本书”没用?
你只是为了达成所谓的数量目标而读书. 编者按:读书本是一项安静.缓慢的活动,但随着现代社会节奏的加快,信息技术的广泛普及,读书这一行为模式也开始发生了变化.越来越多的人开始碎片化阅读,并且越来越多的文 ...
- 第三篇-分析日志和sensor-data中的数据结构
分析日志和sensor-data数据结构 该文章提供web端思路,ios和android端思路不提供,api也已经下线,本文也不提供任何可执行代码.有更多疑问欢迎查看github代码 协议 授权协议: ...
- MySQL高级篇 | 分析sql性能
在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多 SQL 语句开始逐渐显露出性能问题,对生产的影响也越来越 ...
随机推荐
- 2016-2017-2 20155309南皓芯java第五周学习总结
教材内容总结 这一周学习的进度和前几周比较的话是差不多的,都是学习两章. 异常处理 1.理解异常架构 2.牚握try...catch...finally处理异常的方法 3.会用throw,throws ...
- VS相关设置
1.显示行号 工具-〉选项-〉文本编辑器-〉语言(比如C#)-〉显示-〉行号 2.“解决方案资源管理器”被拖出来了,无法还原 两种方法:1.窗口-->重置窗口布局2.工具-->导入和导出设 ...
- 最新版Intellij IDEA插件JRebel 7.0.7官方免费激活
本文转自:http://blog.csdn.net/u012283609/article/details/70213307 开场语 有时候真实比小说更加荒诞,因为虚构是在一定逻辑下进行的,而现实往往毫 ...
- C/C++之static函数与普通函数
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量.全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别虽在于非静态全局变量 ...
- 4~20mA电流输出芯片XTR111完整电路
http://www.51hei.com/bbs/dpj-41904-1.html 为了大家方便,我这里给大家提供一种久经考验的电路,省去了大家找资料的麻烦,直接可以使用,优点有二:一是原料好买,二是 ...
- mysql 触发器 trigger用法 two (稍微复杂的)
触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/befo ...
- Android http通信 HttpURLConnection
post 请求: package com.example.administrator.eschool; import android.os.Bundle; import android.os.Hand ...
- 20145307陈俊达_安卓逆向分析_dex2jar&jd-gui的使用
20145307陈俊达_安卓逆向分析_dex2jar&jd-gui的使用 引言 这次免考选择了四个项目,难度也是从简到难,最开始先写一个工具的使用 想要开发安卓首先要会编写代码,但是想要逆向分 ...
- ArrayList初始化的4种方法
In the last post we discussed about class ArrayList in Javaand it’s important methods. Here we are s ...
- hdu 1671 Phone List(字典树)题解
题意:给一连串数字,如果有前缀重复给出NO,否则给出YES 思路:这道题要delete否则爆内存,之前想的直接在insert()里解决查询有错误,所以先保存数据再查询. 代码: #include< ...