using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataBaseFirst
{
class Program
{
static void Main(string[] args)
{
StuDBEntities1 stuDBEntities = new StuDBEntities1();

////-----------------新增数据到数据库
//List<students> student = new List<students>();
//students stu = new students();
//stu.sno = "120";
//stu.ssex = "女";
//stu.sname = "周宇菲11169";
//stu.sbirthday = Convert.ToDateTime("2020-05-03");
//stu.@class = "95035";
//插入单条数据
//stuDBEntities.students.Add(stu);
//stuDBEntities.SaveChanges();

//students tu = new students()
//{
// sno = "119",
// ssex = "男",
// sname = "周宇菲156",
// sbirthday = Convert.ToDateTime("2020-05-03"),
// @class = "95065"
// };
////多条数据插入
//student.Add(stu);
//student.Add(tu);
//stuDBEntities.students.AddRange(student);
//stuDBEntities.SaveChanges();

//-----------------根据学号删除数据
//students stu1 = new students();
//stu1.sno = "113";
//stuDBEntities.Entry<students>(stu1).State = System.Data.Entity.EntityState.Deleted;
//stuDBEntities.SaveChanges();

//-----------------根据id编辑数据
//students stu1 = new students();
//stu1.sno = "112";
//stu1.sname = "周宇菲1110";
//stu1.ssex = "女";
//stu1.@class = "95025";
//stu1.sbirthday = Convert.ToDateTime("2020-05-03");
//stuDBEntities.Entry<students>(stu1).State = System.Data.Entity.EntityState.Modified;
//stuDBEntities.SaveChanges();

//---------------------查询数据
//List<students> stu = stuDBEntities.students.ToList();
//foreach (students tu in stu)
//{
// Console.WriteLine(tu.sname);
//}
//Console.ReadKey();

//---------------------带条件的数据查询
//List<students> stu = stuDBEntities.students.Where(u => u.sno == "101").ToList();
//foreach (students tu in stu)
//{
// Console.WriteLine(tu.sname);
//}
//Console.ReadKey();

//---------------------查询排序 正序/倒叙
//List<students> stu = stuDBEntities.students.OrderBy(t => t.sbirthday).ToList();正序
//List<students> stu = stuDBEntities.students.OrderBy(t => t.sbirthday).OrderByDescending(t=>t.sbirthday).ToList();//倒序
//foreach (students tu in stu)
//{
// Console.WriteLine(tu.sbirthday);
//}
//Console.ReadKey();

//------------------Linq查询
//var student = from stu in stuDBEntities.students where stu.sno == "101" select stu;
//---------------------linq+lamda表达式查询数据
//List<students> student1 = (from stu in stuDBEntities.students where stu.sno == "101" select stu).ToList();
//List<students> student2 = student.Where(u => u.sname == "王丽").ToList();

//---------------------var 关键字
//linq擦寻首先包含一个变量,一包含哈寻的结果集,通常使用var来声明

//---------------------使用Linq多表联查
//var teacher_course = from te in stuDBEntities.teachers
// join cu in stuDBEntities.courses
// on te.tno equals cu.tno
// orderby te.tno
// select cu;

//使用Linq查询加函数查询两种写法
//var student = (from stu in stuDBEntities.students select stu).Count();
//var student1 = stuDBEntities.students.Count();

//var Minstudent = (from stu in stuDBEntities.students select stu).Min();
//var Min1student1 = stuDBEntities.students.Min();

//求余函数
// var Min1student1 = (from stu in stuDBEntities.students select stu).Skip(2);

//----------------Linq查询分页
//List<students> stude = (from stu in stuDBEntities.students orderby stu.sno descending select stu).Skip(2).Take(5).ToList();
//List<students> stude1 = stuDBEntities.students.OrderByDescending(stu => stu.sno).Skip(2).Take(5).ToList();
//foreach (students tu in stude1)
//{
// Console.WriteLine(tu.sname);
//}
//Console.ReadKey();

//---------------Linq的模糊查询Contains 相当于like
//linq写法
// List<students> stude = (from stu in stuDBEntities.students where stu.sname.Contains("宇") select stu).ToList();
////lamda写法
//List<students> stude = stuDBEntities.students.Where(tu => tu.sname.Contains("宇")).OrderByDescending(tu => tu.sno).ToList();
//foreach (students tu in stude)
//{
// Console.WriteLine(tu.sname);
//}
//Console.ReadKey();

//分组查询取单列
//var stude1 = from stu in stuDBEntities.students
// group stu by stu.sname into n
// select new
// {
// n.Key
// };
//foreach (var item in stude1)
//{
// Console.WriteLine(item.Key);
//}
//Console.ReadKey();
//取多列
//var stude1 = from stu in stuDBEntities.students
// group stu by new { stu.sname, stu.ssex } into n
// select new
// {
// n.Key.sname,
// n.Key.ssex
// };
//foreach (var item in stude1)
//{
// Console.WriteLine(item.sname);
//}
//Console.ReadKey();

//使用Lamda写groupby
//var stude1 = stuDBEntities.students.GroupBy(p => p.sno).ToList();
//foreach (var item in stude1)
//{
// Console.WriteLine(item.Key);
//}
////多列
//var stude2= stuDBEntities.students.GroupBy(p => new { p.sname, p.ssex }).ToList();
//foreach (var item in stude2)
//{
// Console.WriteLine(item.Key.sname);
//}
//Console.ReadKey();
//--------------------Linq中的in用法

//var stude1 = from stu in stuDBEntities.students where (new string[] { "101","103" }).Contains(stu.sno) select stu;
//foreach (var item in stude1)
//{
// Console.WriteLine(item.sname);
//}
//Console.ReadKey();

//var info = from stu in stuDBEntities.STUDENT where (new int?[] { 1, 2 }).Contains(stu.s_code) select stu;
//foreach (var item in info)
//{
// Console.WriteLine(item.s_address);
//}
//Console.ReadKey();

//Linq中的sql
//var stu = stuDBEntities.students.SqlQuery("select * from students where sno in('101','102')");
//foreach (var item in stu)
//{
// Console.WriteLine(item.sname);
//}
//Console.ReadKey();
}
}
}

Linq中常用语法的更多相关文章

  1. Linq中常用的方法

    这几天闲着也是闲着,就仔细的研究了一下Linq的语法,还有他的一些扩展方法的使用. 下面是一些常用的扩展方法. Aggregate 自定义的聚合计算 All 检测序列中所有元素是否都满足指定的条件 A ...

  2. 【Linq】常用语法汇总

    语言继承查询(Language Integrated Query, LINQ),在C#编程语言中集成了查询语法,可以用相同的语法访问不同的数据源,LINQ提供了不同数据源的抽象层,所以可以使用相同语法 ...

  3. Day 30:HTML和CSS在Java项目中常用语法

    framSet例子,其中的页面链接地址视情况而定,应为我还不知怎么弄当前文件下呢,例子主要在说明该标签如何使用 <!DOCTYPE html PUBLIC "-//W3C//DTD X ...

  4. LINQ 中常用函数使用: Take TakeWhile Skip SkipWhile Reverse Distinct

    1,Take 方法 Take方法用于从一个序列的开头返回指定数量的元素. string[] names = { "郭靖", "李莫愁", "欧阳晓晓& ...

  5. PHP中Smarty引擎的常用语法

    PHP中Smarty引擎的常用语法 输出今天的日期: {$smarty.now|date_format:"%H:%M %A, %B %e, %Y"} 实际上用到了PHP的time( ...

  6. 【.NET基础】Linq常用语法代码演示

    前言:前言不重要,linq入门常用的语法,linq语法可以用来写操作集合.数据库表集合等等几乎所有集合类型的操作.下面就写几个案例(以List集合来做的),看代码和运行结果即可. 本文演示环境:VS2 ...

  7. .net开发中常用的第三方组件

    .net开发中常用的第三方组件 2013-05-09 09:33:32|  分类: dotnet |举报 |字号 订阅     下载LOFTER 我的照片书  |   RSS.NET.dll RSS. ...

  8. .NET中常用的几种解析JSON方法

    一.基本概念 json是什么? JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是一种轻量级的数据交换格式,是存储和交换文本信息的语法. ...

  9. Linq中join & group join & left join 的用法

    Linq中join & group join & left join 的用法 2013-01-30 11:12 12154人阅读 评论(0) 收藏 举报  分类: C#(14)  文章 ...

随机推荐

  1. 架构师必备:巧用Canal实现异步、解耦的架构

    本文介绍如何应用Canal实现异步.解耦的架构,后续有空再写文章分析Canal原理和源代码. Canal简介 Canal是用来获取数据库变更的中间件. 伪装自己为MySQL从库,拉取主库binlog并 ...

  2. 整理记录一些好用的随机图API

    最近自己博客使用的随机图API有些不稳定,自己又去搜集了一些有意思的随机图API,这里做一个整理记录 注意!!!本文链接最后测试时间----2021年11月21日 主题作者Tagaki的API(有时候 ...

  3. DirectX12 3D 游戏开发与实战第七章内容(下)

    利用Direct3D绘制几何体(续) 学习目标 学会一种无须每帧都要刷新命令队列的渲染流程,由此来优化程序的性能 了解另外两种跟签名参数类型:根描述符和根常量 探索如何在程序中生成和绘制常见的几何体, ...

  4. 【机器学习与R语言】6-线性回归

    目录 1.理解回归 1)简单线性回归 2)普通最小二乘估计 3)相关系数 4)多元线性回归 2.线性回归应用示例 1)收集数据 2)探索和准备数据 3)训练数据 4)评估模型 5)提高模型性能 1.理 ...

  5. [R] cbind和filter函数的坑

    最近我用cbind函数整合数据后,再用filter过滤数据,碰到了一个大坑. 以两组独立样本t检验筛选差异蛋白为例进行说明吧. pro2 <- df2[1:6] Pvalue<-c(rep ...

  6. android 点击图片从Fragment跳转到activity

    android 点击图片从Fragment跳转到activity 在Fragment里编写 public View onCreateView(@NonNull LayoutInflater infla ...

  7. UE4之Slate:App默认窗口的创建流程

    UE4版本:4.24.3源码编译 Windows10 + VS2019开发环境 在先前分享的基础上,现在来梳理下App启动时默认窗口的创建流程,以及相关的类.对象之间的抽象层级: 纯C++工程配置 S ...

  8. 巩固java第五天

    巩固内容: HTML 实例解析 <p> 元素: <p>这是第一个段落.</p> 这个 <p> 元素定义了 HTML 文档中的一个段落. 这个元素拥有一个 ...

  9. A Child's History of England.24

    Besides all these troubles, William the Conqueror was troubled by quarrels among his sons. He had th ...

  10. Java实现读取文件

    目录 Java实现读取文件 1.按字节读取文件内容 使用场景 2.按字符读取文件内容 使用场景 3.按行读取文件内容 使用场景 4.随机读取文件内容 使用场景 Java实现读取文件 1.按字节读取文件 ...