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. Identity Server 4 从入门到落地(二)—— 理解授权码模式

    Identity Server 的目的是认证和授权,我们需要理解认证和授权的工作过程.这就需要了解OAuth 2.0的四种授权模式,下面这张图是授权码模式的工作过程,至少我在一开始看得一头雾水: 现在 ...

  2. [省选联考 2020 A 卷] 组合数问题

    题意 [省选联考 2020 A 卷] 组合数问题 想法 自己在多项式和数论方面还是太差了,最近写这些题都没多少思路,看完题解才会 首先有这两个柿子 \(k*\dbinom{n}{k} = n*\dbi ...

  3. Codeforces 1097G - Vladislav and a Great Legend(第二类斯特林数+树上背包)

    Codeforces 题目传送门 & 洛谷题目传送门 首先看到这题我的第一反应是:这题跟这题长得好像,不管三七二十一先把 \(k\) 次方展开成斯特林数的形式,\(f(X)^k=\sum\li ...

  4. Codeforces Gym 101175F - Machine Works(CDQ 分治维护斜率优化)

    题面传送门 首先很明显我们会按照 \(d_i\) 的顺序从小到大买这些机器,故不管三七二十一先将所有机器按 \(d_i\) 从小到大排序. 考虑 \(dp\),\(dp_i\) 表示在时刻 \(d_i ...

  5. DTOJ 1561: 草堆摆放

    题目描述 FJ买了一些干草堆,他想把这些干草堆分成N堆(1<=N<=100,000)摆成一圈,其中第i堆有B_i数量的干草.不幸的是,负责运货的司机由于没有听清FJ的要求,只记住分成N堆摆 ...

  6. mysql—mysql查询语句提示Unknown column ‘xxx’ in ‘where clause’

    运行结果中提示Unknown column 'xxx' in 'where clause'的问题.经过大神的指导,顿时明白其中缘由,如果sql中定义的类型是int型的可以不用加引号,但是如果是字符串类 ...

  7. Redis | 第10章 二进制数组、慢查询日志和监视器《Redis设计与实现》

    目录 前言 1. 二进制位数组 1.1 位数组的表示 1.2 GETBIT 命令的实现 1.3 SETBIT 命令的实现 1.4 BITECOUNT 命令的实现 1.5 BITOP 命令的实现 2. ...

  8. day01 MySQL发展史

    day01 MySQL发展史 今日内容概要 数据库演变史 软件开发架构 数据库本质 数据库中的重要概念 MySQL下载与安装 基本SQL语句 今日内容详细 数据库演变史 # 1.文件操作阶段 jaso ...

  9. Kafka入门教程(二)

    转自:https://blog.csdn.net/yuan_xw/article/details/79188061 Kafka集群环境安装 相关下载 JDK要求1.8版本以上. JDK安装教程:htt ...

  10. Android 高级UI组件(一)GridView与ListView

    1.GridView 1.GridView学习 GridView和ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选 main.xml: <?xml version ...