zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    关于在unity中动态获取字符串后在InputField上进行判断的BUG
    关于在将暴风SDK倒入unity中运行程序出现报错问题
    关于用暴风SDK在unity中加入VR效果和利用暴风手柄进行操作
    IDEA 接口无法跳转到实现类
    springboot项目中获取pom中的属性
    mybatisplus异常: 栏位索引超过许可范围:2,栏位数:1。
    七日杀windows服务器搭建
    SQL子查询报错syntax error at end of input
    关于在将excel数据导入到pgsql数据库的时候中文变成问号的处理方式
    字符串补位操作
  • 原文地址:https://www.cnblogs.com/yoga21/p/8796812.html
Copyright © 2011-2022 走看看