tnblog
首页
视频
资源
登录

LinQ是什么?

5366人阅读 2019/12/23 10:44 总访问:399840 评论:0 收藏:0 手机
分类: Mvc EF框架

一切皆可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<T> 或 IQueryable<T> 接口的对象都可使用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参见资料:

 

?http://dev.yesky.com/topic/305/8142805.shtml

?http://www.verycd.com/topics/2762344/

?http://www.docin.com/p-49692160.html

?http://cid-79cf5e75e6e5fd50.spaces.live.com/blog/cns!79CF5E75E6E5FD50!379.entry

 

转载自:https://blog.csdn.net/sytweibo/article/details/5542934


评价

LinQ解决商品和其下sku的筛选排序查询

本是sql to linq的东西,但是用的框架是.core 2.1,所以就归到core里吧最近遇到一个稍微复杂点的小问题需求:商城的商品列...

LinQ or Sql 取树末级节点

List&lt;Entity&gt;list=newList&lt;Entity&gt;{ newEntity(){Id=1,Name=&quot;根&quot;,Pid=0}, newEntity(){Id=2,Name=...

多表分组,排序,混合查询的LinQlamdba语句

多表分组,排序,混合查询例如:显示每个人的父亲,对应的分数,考试的科数linq语句varquery=fromuinoae.users joinpinoae...

重要sql语句和LinQlamdba分组条件查询语句

每天记录一点点我希望有个如你一般的人我希望有个如你一般的人,如山间清爽的风,如古城温暖的光,从清晨到夜晚,由山野到...

LinQ简单介绍

什么是linq:Languagle intergrated query 语法集成查询 Linq的分类: Linq to object : linq操作系统对象Linq to sql ...

LinQ多条件查询方法

其实就是利用or,and的小技巧而已,直接贴代码吧 var result = from query in userInfos where (string.I...

LinQ基础

前言linq使用基础一、什么是Linq:语言集成查询二、 linq作用:简化查询三、Linq分类: Linq to object :linq操作内存集合 ...

LinQ 语法

https://www.cnblogs.com/xszjk/articles/5517588.html 本文纯手写,可能单词有误1.普通var s=from a in ...

C Enumerable 类 LinQ、EF、序列、列表 基本能用到的方法

Enumerable 类参考定义命名空间:System.Linq程序集:System.Linq.dll提供一组用于查询实现IEnumerable&lt;T&gt;的对象的stat...

sqlsugar in多字段LinQ 多字段查询多对多查询方式。 in and

sqlsugar in多字段版本&gt;=5.1.4.67-preview04 List&lt;OrderItem&gt; list=xxx; db.Queryable&lt;OrderItem&gt;().Wh...

SVN与是什么(纯理论)

相信有很多小伙伴一定听说过SVN但SVN到底是干嘛的呢今天就带大家带来SVN的分享希望能对你们有帮助哦 概念:SVN是subversion...

.net core Ocelot 是什么

前 言Ocelot 简单的说Ocelot是一个用.NET Core实现并且开源的API网关技术。可能你又要问了,什么是API网关技术呢?Ocelot...

ReportingServicesService.exe是什么,占用内存太高可以关闭吗

ReportingServicesService.exe是SQLServer的报表服务。如果你不使用报表的话可以将其停掉,不会影响数据库的其他工作。 而...

uni-app app.vue主要是什么作用

进行一些全局的参数存储。全局的函数调用。全局的参数加载状态判断等,比如登录状态的检查。 全局参数设置比如api地址,to...
你之所以觉得时间一年比一年过得快,是因为时间对你一年比一年重要。
排名
13
文章
64
粉丝
20
评论
30
MUI框架页面间的传值指针
XingDy姐 : 不错哦
MUI框架页面间的传值指针
剑轩 : 接口的真实地址可以用xx/yy什么的代替哦,真实地址还是隐藏一下好
.NET EF 用户按钮权限
YOU : 可以,在写文章的时候,有需要写代码的地方,可以选择编辑器上的代...
.NET EF 用户按钮权限
剑轩 : 哈哈哈哈,你这个追女生的逻辑
EF三种模式解析
剑轩 : 好文采!
重要sql语句和linq,lamdba分组条件查询语句
剑轩 : 开头那句诗句写得很好哇!
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术
宁愿带着浑身伤痛勇敢站起 让泪水洒满尘埃与苍穹之间。