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. nacos的简单使用

    1.根据自身情况下载稳定版本:https://github.com/alibaba/nacos/releases2.安装:zip包 cmd运行: 8848端口cmd startup.cmd3.登录名密 ...

  2. 详解如何用 CSS3 完成 3D transform变换

    Tips:阅读提示!!! 首先,本文针对的是3D transform变换的学习,所以你需要对 2D transform变换 有一定的了解 其次,需要说明的是,代码是一种需要自己不断实践的学科,建议各位 ...

  3. 快读模板 + #define 压缩for

    快读是一个很重要的模板 #define 压缩for是为了代码的简洁 这里贴一下模板 #define f(i , a , b) for(int i=(a) ; i <= (b) ; i++) us ...

  4. [转载]CSP-J/S 第一轮知识点选讲

    CSP-J/S 第一轮知识点选讲 转载自这里 感谢原博主的大力整理! 信息学史及基本知识 一.信息学及计算机史 计算机的顶级奖项:图灵奖.冯·诺依曼奖 图灵奖:由ACM(美国计算机协会)设立于1966 ...

  5. perl 多fasta文件匹配,并提取匹配文件第一条序列

    目标如题,有多个fasta文件和一个文件名列表,将文件名列表中包含的文件匹配出来并提取第一条序列合并成一个fa文件. 这个采用perl实现,用法和代码如下: 1 #!/usr/bin/perl -w ...

  6. 业务逻辑审批流、审批流、业务、逻辑、面向对象、工作方式【c#】

    ------需求分析:--------1.先按照实际线下流程说这是什么事情,实际要干什么.2.再转换为面向对象-页面的操作流程,演示demo3.再与相关人员沟通是否可行需要什么地方修正.4.最终:线上 ...

  7. 案例 stm32单片机,adc的双通道+dma 内部温度

    可以这样理解 先配置adc :有几个通道就配置几个通道. 然后配置dma,dma是针对adc的,而不是针对通道的. 一开始我以为一个adc通道对应一个dma通道.(这里是错的,其实是我想复杂了) 一个 ...

  8. linux下的C++多线程

    原文链接:http://blog.csdn.net/lee1054908698/article/details/54633056 本随笔作为多线程笔记使用,内容完全照搬原博 多线程是多任务处理的一种特 ...

  9. Spring Boot 创建定时任务(配合数据库动态执行)

    序言:创建定时任务非常简单,主要有两种创建方式:一.基于注解(@Scheduled) 二.基于接口(SchedulingConfigurer). 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库 ...

  10. EM配置问题

    配置EM,首先要保证dbconsole在运行. C:\Users\dingqi>emctl start dbconsoleEnvironment variable ORACLE_UNQNAME ...