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 ...
随机推荐
- 看linux正在运行的服务用哪个命令?
https://zhidao.baidu.com/question/117779006.html 查看服务进程:ps aux查看服务cpu利用:top查看服务对应端口:netstat -nlp pst ...
- java 中什么是aop
AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP引入 ...
- Class 和 MetaClass
在 OC 中,类的一个实例定义如下: /// Represents an instance of a class. struct objc_object { Class _Nonnull isa OB ...
- 2014年10月Android面试总结
最近打算跳槽,所以到外面逛了一圈,发现外面的世界还是比较精彩的,同时也认识了自己的一些不足,以及作为一个Android开发者,自己后面需要掌握的东西做一下列举. 先介绍下本人的工作经历吧,本人11年7 ...
- 归并排序的理解和实现(Java)
归并排序介绍 归并排序(Merge Sort)就是利用归并的思想实现的排序方法.它的原理是假设初始序列含有fn个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n2\fr ...
- Matlab 基础
命令行(Command Line) 1. help 格式:help 命令 2. cd 配合 Tab 使用 pwd: print current working directory,打印当前工作路径 ...
- 前后端分离最佳实现,使用Nuxt.js快速搭建单页SSR应用
通常我们搭建ssr应用需要自己选择多个组件集成到一起 webpack babel loaders router server-render 各种入口配置等 如果是基于vue+vuex+vue-rout ...
- hanlp的基本使用--python(自然语言处理)
hanlp拥有:中文分词.命名实体识别.摘要关键字.依存句法分析.简繁拼音转换.智能推荐. 这里主要介绍一下hanlp的中文分词.命名实体识别.依存句法分析,这里就不介绍具体的hanlp的安装了,百度 ...
- 《Algorithms算法》笔记:优先队列(1)——API和初等实现
1.优先队列的API和初等实现 做一个总结: 栈 :先进后出 队列 :先进先出 随机队列 : 随机出 优先队列:每次出来的是最大值或最小值 1.1优先队列的API 优先队列在很多场合都有用, 比如:在 ...
- Redis持久化配置-AOF
redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一般的配置是一段时间内操作超过多少次就持久化.aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis的 ...