最近比较忙,博客更新的比较慢,请大家谅解!

今天来简单介绍一下LINQ to SQL的知识。(用实例)

什么是LINQ to SQL?

LINQ to SQL是基于关系数据的.NET语言集成查询,用于以对象形式管理关系数据,并提供丰富的查询功能。

下面开始介绍LINQ to SQL的用法,在LINQPad下实现。

实例中用到的表:

<1>LINQ to SQL查询所有字段

from p in Courses
select p

<2>LINQ to SQL---列别名

from p in Courses
select new
{课程号=p.CourseID,课程名称=p.CourseName
}

<3>LINQ to SQL---where

from p in Courses
where p.CourseID==4
select new
{课程号=p.CourseID,课程名称=p.CourseName
}

<4>LINQ to SQL---First()          (注:获取记录集中的第一条记录;注意大小写)

(from p in Courses
select new{课程号=p.CourseID,课程名称=p.CourseName}
).First()

<5>LINQ to SQL---Distinct()

不加Distinct()

(from p in Results
select p.StudentID
)

加Distinct()

(from p in Results
select p.StudentID
).Distinct()

<6>LINQ to SQL---Count()

(from p in Results
where p.StudentID=="20050101"
select p
).Count()

<7>LINQ to SQL---Sum()

(from p in Results
where p.StudentID=="20050101"
select p.Result
).Sum()

<8>LINQ to SQL---Max()

(from p in Results
where p.StudentID=="20050101"
select p.Result
).Max()

<9>LINQ to SQL---Min()

(from p in Results
where p.StudentID=="20050101"
select p.Result
).Min()

<10>LINQ to SQL---Average()

(from p in Results
where p.StudentID=="20050101"
select p.Result
).Average()

<11>LINQ to SQL---orderby

升序

from p in Results
where p.StudentID=="20050101"
orderby p.Result
select p

降序

from p in Results
where p.StudentID=="20050101"
orderby p.Result descending
select p

<12>LINQ to SQL---group   by

from p in Results
group p by p.CourseID into g
select g

<13>LINQ to SQL--- 多表连接查询

方法一:

from p in Results
from q in Courses
where p.CourseID==q.CourseID
select new
{学号=p.StudentID,课程编号=q.CourseID,课程名称=q.CourseName,成绩=p.Result
}

方法二:

from p in Results
join q in Courses on p.CourseID equals q.CourseID
select new
{学号=p.StudentID,课程编号=q.CourseID,课程名称=q.CourseName,成绩=p.Result
}

<14>LINQ to SQL---多表连接查询中使用 group   by

from p1 in Results
join p2 in Courses on p1.CourseID equals p2.CourseID
group p1.Result by new
{p1.CourseID,p2.CourseName
}
into g
select new
{课程编号=g.Key.CourseID,课程名称=g.Key.CourseName,最高分=g.Max(),最低分=g.Min(),平均分=g.Average()
}

<完>

LINQ编程之LINQ to SQL相关推荐

  1. LINQ体验(6)——LINQ to SQL语句之Join和Order By

    LINQ体验(6)--LINQ to SQL语句之Join和Order By Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操 ...

  2. 光脚丫学LINQ(014):LINQ to SQL简介

    视频演示:http://u.115.com/file/f29f7838f6 LINQ to SQL 是 .NET Framework 3.5 版的一个组件,提供了用于将关系数据作为对象管理的运行时基础 ...

  3. LINQ系列:LINQ to SQL Exists/In/Any/All/Contains

    1. Any 返回没有Product的Category var expr = from c in context.Categorieswhere !c.Products.Any()select c; ...

  4. 看完知乎轮子哥的编程之路,我只想说,收下我的膝盖...

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 作者:vczh 来源:https://dwz.cn/sWwZoQEl vczh,本名陈 ...

  5. 【专业造轮子】 一位大神的编程之路,让我大吃一惊

    vczh,本名陈梓瀚,因知乎的个人信息介绍上写有 "专业造轮子",所以江湖人称 "轮子哥". vczh 大学时代就在微软实习,毕业后即加入微软.开始时是在微软上 ...

  6. C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻

    前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...

  7. c# jarray 快速提取_C#编程之C# JArray与JObject 的使用

    本文主要向大家介绍了C#编程之C# JArray与JObject 的使用,通过具体的内容向大家展示,希望对大家学习C#编程有所帮助. using Newtonsoft.Json.Linq; 如何获取j ...

  8. Pro LINQ 之三:LINQ to DataSet

    写在前面 将LINQ to DataSet单独放一篇,是因为随后的LINQ to SQL默认只支持MS SQL Server.只有LINQ to DataSet能在没有相应Data Provider帮 ...

  9. 从LINQ开始之LINQ to Objects(上)

    LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LIN ...

最新文章

  1. 两下或多下回车造成数据库多次提交事物的解决方法
  2. javascript 数组对象中的迭代方法
  3. 纯券过户(free of payment)
  4. python学习笔记(四)字典(dict)
  5. 深圳本地网店代运营公司
  6. Maximum upload size exceede上传文件大小超出解决
  7. 里程碑 .Net7再更新,从此彻底碾压Java!
  8. 算法六之直接插入排序
  9. 【转载保存】搜索引擎调研文档
  10. 计算浮点数相除的余(信息学奥赛一本通-T1029)
  11. JavaScript数据类型之Boolean以及undefined和null(4)
  12. java功能模块_Java 13功能
  13. Windows 安装Bazel (安装过程中报远程服务器错,先记下来方法)
  14. .net将html转换PDF
  15. 主机动手系列 — 不同CPU,不同命令,怎么管理HP-UX服务器
  16. linux发行版本中 图形方式的运行级,在大多数 Linux 发行版本中,图形方式的运行级定义为?...
  17. 文件二维码制作生成网站
  18. 养老---任重而道远
  19. Qt获取键盘按键ctrl和alt以及shift按键按下和松开
  20. 基于Python的自动聊天机器人

热门文章

  1. 准静态、静态、动态(动力学分析)
  2. Oracle OLAP 与 OLTP 介绍
  3. amp;与amp;amp;的区别
  4. 单片机实验四-七段数码管及键盘控制
  5. 面向政府治理大数据的高性能计算系统
  6. python基本数据类型1
  7. 谈VB.net里Optional关键字
  8. ffmpeg解码内存中的数据
  9. 如何控制QQ好友访问空间?
  10. 数字世界的积木-从MOS管搭反相器,与非门,锁存器,触发器