LINQ语法类似于SQL的语法
LINQ语法类似于SQL的语法如下,
Models.BookStoreEntities 是从添加新建项中的数据--->ADO.NET实体数据模型--->从数据库生成--->使用5.0框架(这个我用的)--->连接库--->模型命名空间(就是Models.表Entitles)
Entitles规范点就是表名加Entity 比如 StudentEntity
#region LINQ语法可以让我们在项目使用一种类似于SQL的语法
#region 投影查询,查询全部的书籍
using (Models.BookStoreEntities db = new Models.BookStoreEntities())
{
//基于表达式查询
var Books = from b in db.Books
select b;
//输出查询结果数量
Console.WriteLine(Books.Count());
//投影查询除了可以用上述基于表达式的方式实现之外,还可以用一种更简洁的函数方式实现
var Books1 = db.Books;
Console.WriteLine(Books1.Count());
}
#endregion
#region 条件查询,比如查询书名为JavaScript语言与AJAX应用的书籍编号
using (Models.BookStoreEntities db = new Models.BookStoreEntities())
{
var BookWhere = from b in db.Books
where b.Title == "JavaScript语言与AJAX应用"
select b;
foreach (var book in BookWhere)
Console.WriteLine(book.BookId);
//同样的查询用函数方式实现
var BookWhere2 = db.Books.Where(x => x.Title == "JavaScript语言与AJAX应用");
foreach (var item in BookWhere2)
Console.WriteLine(item.BookId);
//在上述查询中,在函数方式实现的代码中用到了Lambda表达式描述查询条件
}
#endregion
#region 排序和分页查询,比如查询全部订单,并按数量排序并分页
using (Models.BookStoreEntities db = new Models.BookStoreEntities())
{
//按数量排序并分页输出订单编号
var Order1 = (from o in db.Orders
orderby o.Num
select o
).Skip().Take();
//输出查询结果的编号
foreach(var oder in Order1)
Console.WriteLine(oder.BookId);
//以函数式方式实现查询
var Order2 = db.Orders.OrderBy(x => x.Num).Skip().Take();
foreach (var oder2 in Order2)
Console.WriteLine(oder2.BookId);
}
#endregion
#region 聚合查询,比如查询书籍总数和价格
using (Models.BookStoreEntities db = new Models.BookStoreEntities())
{
//书籍总数
var num = db.Books.Count();
Console.WriteLine(num);
var price = db.Books.Min(x => x.Price);
Console.WriteLine(price);
}
#endregion
#region 连接查询,比如查询书的订单编号
using (Models.BookStoreEntities db = new Models.BookStoreEntities())
{
var Order3 = from o in db.Orders
join b in db.Books
on o.BookId equals b.BookId
select o;
//join关键字用于连接2个数据表,on和equals关键字用于指定的两个表是通过那个字段连接在一起的
foreach (var order3 in Order3)
Console.WriteLine(order3);
}
#endregion
#endregion
LINQ语法类似于SQL的语法的更多相关文章
- Sql常用语法以及名词解释
Sql常用语法以及名词解释 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) D ...
- sql 常用语法汇总
Sql常用语法 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控 ...
- PL/SQL基础语法入门
先前安装了PL/SQL软件 PL/SQL全称为Procedural Language/SQL. PL/SQL也是一种程序语言,叫做过程化SQL语言,是Oracle数据库对SQL语句的扩展 打PL/SQ ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- SQL基础语法(二)
SQL SELECT 语句 本章讲解 SELECT 和 SELECT * 语句. SQL SELECT 语句 SELECT 语句用于从表中选取数据. 结果被存储在一个结果表中(称为结果集). SQL ...
- SQL select 语法(转)
SQL 里面最常用的命令是 SELECT 语句,用于检索数据.语法是: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expr ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- SQL 2008 RAISERROR语法在SQL 2012/2014不兼容问题
原文 旧的RAISERROR语法在SQL 2012不兼容问题 raiserror 写法: SQL 2008: raiserror 55030 'text error' SQL 2012: raiser ...
- MySQL基本语法(一):和SQL Server语法的差异小归纳
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
随机推荐
- grafana 运行
1,下载好项目,然后进入到目录 键入: ./bin/grafana-server web 运行 https://www.waitig.com/grafana-config-and-run.html 2 ...
- 刚才在windows下发现拖拽不了文件了
百度了下 摁了两下esc就可以了.以下是百度得到的答案 按几下Esc目的是:没按前ESC键[接触不好]或[键不灵]或其他原因导致ESC处于[按下]状态,这样鼠标就会拖不了文件,点击菜单也会马上消失, ...
- webpack快速入门——CSS进阶:消除未使用的CSS
使用PurifyCSS可以大大减少CSS冗余 1.安装 cnpm i purifycss-webpack purify-css --save-dev 2.引入glob,因为我们需要同步检查html模板 ...
- [Swift实际操作]七、常见概念-(6)日期Date和DateFormatter日期的格式化
本文将为你演示日期类型的使用,以及如何对日期进行格式化. 首先引入需要使用到的界面框架 import UIKit 初始化一个日期对象,它的值和当前电脑中的日期相同 var date = Date() ...
- 将一个List拆分为n份的方法
public static void main(String[] args) { List<Integer> taskList = new ArrayList<>(); for ...
- day 51 随机验证码, 验证登陆 ,以及 装饰器在函数中的应用
前端很好的session 的例子 (随机验证码登陆) https://github.com/Endless-Clould/qianduan 参考: 验证码登录 https://www.cnblogs. ...
- Grid++Report——打印功能
一.安装下载 http://www.rubylong.cn/Download.htm 二.添加引用 三.添加类 四.制作打印模板 1.新增报表节 新增明细网格 新增列→设置为自由格→调整大小 报表→设 ...
- Oracle 中分组排序取值的问题
整理一下排序: 建表语句:create table EXAM( name VARCHAR2(32), subject VARCHAR2(32), score INTEGER)数据:IN ...
- lower类的accessCode解读
/** Access codes for dereferencing(解引用), assignment, * and pre/post increment/decrement. * Access co ...
- celery在Django中的应用
这里不解释celery,如果不清楚可以参考下面链接: http://docs.celeryproject.org/en/latest/getting-started/introduction.html ...