转发一篇分析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 语句开始逐渐显露出性能问题,对生产的影响也越来越 ...
随机推荐
- 172. Factorial Trailing Zeroes(阶乘中0的个数 数学题)
Given an integer n, return the number of trailing zeroes in n!. Example 1: Input: 3 Output: 0 Explan ...
- JMeter4.0二次开发之导入eclipse
1.先建立工程,命名为JMeter4.0. JDK版本为10.0.1 2.在官网下载src文件,通过文件系统导入到JMeter4.0工程中 3.在ant中选择download_jars,ant会自动下 ...
- Python2 和Python3 的差异总结
一.基本语法差异 1.1 核心类差异 Python3对Unicode字符的原生支持 Python2中使用 ASCII 码作为默认编码方式导致string有两种类型str和unicode,Python3 ...
- excel选择元角分下拉菜单选择框自动变更数字
excel选择元角分下拉菜单选择框自动变更数字 (M2列),数据-->数据有效性-->在“允许”栏中选择序列-->在“来源”栏中输入:分,角,元单位倍数公式(M4列):=IF(M2= ...
- Java lambda 表达式
其实是试验一下markdown... 原: 只有一个抽象方法的接口称为函数式接口(functional interface). 当需要实现了这种接口的类的对象的时候,就可以提供一个lambda表达式. ...
- 一个风控计算负载过高到mysql主从拆分暴露的各种设计复杂性问题以及解决方法总结
在很多系统(包括金融类和非金融类)中,其实有大量的系统在很长的一段时间内(具体多长时间视业务的成功与否而定)都是混合型系统,也就是同时具有OLTP+OLAP的业务.我们说任何形式的存在在特定阶段都是合 ...
- [c/c++]指针(3)
在指针2中提到了怎么用指针申配内存,但是,指针申配的内存不会无缘无故地 被收回.很多poj上的题都是有多组数据,每次地数组大小会不同,所以要重新申请 一块内存.但是原来的内存却不会被收回,也是说2.3 ...
- ubuntu下交叉编译lftp
一.背景: lftp依赖于ncurses,readline和gnutls 二.准备工作 2.1交叉编译ncurses 2.1.1获取ncurses源码 wget ftp://ftp.invisible ...
- 2016年蓝桥杯B组C/C++省赛(预选赛)题目解析
2016年蓝桥杯B组C/C++ 点击查看2016年蓝桥杯B组省赛试题(无答案版) 第一题:煤球数目 题解 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个( ...
- MOOC视频学习
mooc地址 2018/2/6-2/7学习计划: 学习第一周(1.1-1.4)内容. 学习笔记 2018/2/8-2/9学习计划: 学习第二周(1.5.2.1-2.5)内容. 学习笔记 2018/2/ ...