using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//创建数据库实体
ModelStudentContainer DemoDB = new ModelStudentContainer(); #region 增加数据 ////创建具体实体(表中一行)
//Student stu1 = new Student()
//{
// ID = 1,
// Name = "张飞",
// Age = 20
//};
//Student stu2 = new Student()
//{
// ID = 2,
// Name = "关羽",
// Age = 21
//};
//Student stu3 = new Student()
//{
// ID = 3,
// Name = "赵云",
// Age = 22
//};
//Student stu4 = new Student()
//{
// ID = 4,
// Name = "刘备",
// Age = 23
//};
//Student stu5 = new Student()
//{
// ID = 5,
// Name = "刘表",
// Age = 24
//};
//Student stu6 = new Student()
//{
// ID = 6,
// Name = "刘禅",
// Age = 25
//}; ////将实体stu添加到数据库实体对象中
//DemoDB.Student.AddObject(stu1);
//DemoDB.Student.AddObject(stu2);
//DemoDB.Student.AddObject(stu3);
//DemoDB.Student.AddObject(stu4);
//DemoDB.Student.AddObject(stu5);
//DemoDB.Student.AddObject(stu6); ////保存对数据库的修改
//DemoDB.SaveChanges(); #endregion #region 查询1:一般查询,查询所有数据 //var result = from u in DemoDB.Student
// select u; //foreach (var item in result)
//{
// Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
//} #endregion #region 查询2:使用ToList防止延迟加载,拆分子查询 ////这个查询结果可以保存到服务器内存中
//var result1 = (from u in DemoDB.Student
// where u.Age >= 22
// select u).ToList<Student>(); //var result2 = from u in result1
// where u.Name != "赵云"
// select u; //foreach (var item in result2)
//{
// Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
//} #endregion #region 查询3:使用Where方法(lambda表达式) ////使用了Where泛型方法,要传入一个lambda表达式
//var result = DemoDB.Student
// .Where<Student>(t => t.ID == 1); //foreach (var item in result)
//{
// Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
//} #endregion #region 查询4:Linq分页查询 ////要跳过多少页
//int skipPage;
////每页两条数据
//int countPerPage=2; ////从跳过0页到跳过2页(输出第1-3页)
//for (skipPage = 0; skipPage <= 2; skipPage++)
//{
// var result = DemoDB.Student
////分页必须排序
// .OrderBy(t => t.ID)
////跳过指定页数
// .Skip<Student>(skipPage * countPerPage)
////获取条数
// .Take<Student>(countPerPage); // Console.WriteLine("第{0}页:", skipPage + 1);
////输出查询结果(该页)
// foreach (var item in result)
// {
// Console.WriteLine("ID:{0},姓名:{1},年龄:{2}。", item.ID, item.Name, item.Age);
// } // Console.WriteLine();
//} #endregion #region 查询5:使用匿名类查询多个字段 //var result = from p in DemoDB.Student
// where p.ID < 4
////定义一个包含了ID和Name信息的匿名类
// select new { p.ID, p.Name }; //foreach (var item in result)
//{
////这里无法输出年龄
// Console.WriteLine("ID:{0},姓名:{1}。", item.ID, item.Name);
//} #endregion #region 修改1:修改1条记录 ////这里没有写where字句,会查询出4条记录
//var result = from u in DemoDB.Student
// select u; ////但是这个方法一次只能取出一条记录
////注:First方法如果返回空值则抛异常
//var target = result.FirstOrDefault<Student>();
////所以只修改了查询结果集中的第一条记录
//target.Name = "司马懿"; //DemoDB.SaveChanges(); #endregion #region 修改2:修改多条记录 //var result = from u in DemoDB.Student
// select u; ////使用循环方式,修改所有查询到的记录
//foreach (var item in result)
//{
// item.Age = 10;
//} //DemoDB.SaveChanges(); #endregion #region 删除 //var result = from u in DemoDB.Student
// where u.Name == "关羽"
// select u; ////删除所有查询结果(这里只有一条结果)
//foreach (var item in result)
//{
// DemoDB.Student.DeleteObject(item);
//} //DemoDB.SaveChanges(); #endregion Console.WriteLine("执行完毕!");
Console.ReadKey();
}
}
}

  

]Linq to EF 增删改查的更多相关文章

  1. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...

  2. 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序

    分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图.      1.首先建立一个数 ...

  3. WPF MVVM+EF增删改查 简单示例(二) 1对1 映射

    WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...

  4. C# EF增删改查

    1.增 //1.创建一个EF数据上下文对象 MyDBEntities context=new MyDBEntities(); //2.将要添加的数据,封装成对象 Users user = new Us ...

  5. MVC3.0 EF增删改查的封装类

    本人亲身使用EF CodeFirst,因为增删改查都是使用EF内置的一些方法,我想把它封装到一个类调用就行了.结合网上的资料和自己的整理,若有不对的地方望斧正,感激不尽.直接上代码吧.我就用新闻的增删 ...

  6. linq的简单增删改查

    Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...

  7. [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界

    本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...

  8. Linq to sql 增删改查(转帖)

    http://blog.csdn.net/pan_junbiao/article/details/7015633   (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...

  9. EF学习笔记-1 EF增删改查

    首次接触Entity FrameWork,就感觉非常棒.它节省了我们以前写SQL语句的过程,同时也让我们更加的理解面向对象的编程思想.最近学习了EF的增删改查的过程,下面给大家分享使用EF对增删改查时 ...

随机推荐

  1. Optimistic concurrency control

    Optimistic concurrency control https://en.wikipedia.org/wiki/Optimistic_concurrency_control Optimist ...

  2. 高德地图API开发二三事(一)如何判断点是否在折线上及引申思考

    最近使用高德地图 JavaScript API 开发地图应用,提炼了不少心得,故写点博文,做个系列总结一下,希望能帮助到LBS开发同胞们. 项目客户端使用高德地图 JavaScript API,主要业 ...

  3. MySQL——存储引擎

    核心知识点 1.InnoDB:数据和索引存放在单独的文件,聚簇索引,行级锁,事务,MVCC 2.MyISAM: (1)缺点:不支持事务和表级锁,因为不支持表锁,锁颗粒比较大,因此适合只读和小文件. ( ...

  4. mysql 创建用户与授权

    权限管理 我们都知道,最高权限管理者是 root 用户 , 它拥有着最高的权限操作,包括 : select(查询) ,update(修改) , delete(删除,有事没事都不要用这个,反正也不能给这 ...

  5. debian下烧写stm32f429I discovery裸机程序

    需要安装openocd软件.如果已安装默认的openocd,需要先卸载系统默认的openocd(默认版本是0.5.0,版本太低),然后再安装. 在安装前需要安装libusb库文件: -dev libu ...

  6. URAL - 1297 Palindrome —— 后缀数组 最长回文子串

    题目链接:https://vjudge.net/problem/URAL-1297 1297. Palindrome Time limit: 1.0 secondMemory limit: 64 MB ...

  7. POJ1226 Substrings ——后缀数组 or 暴力+strstr()函数 最长公共子串

    题目链接:https://vjudge.net/problem/POJ-1226 Substrings Time Limit: 1000MS   Memory Limit: 10000K Total ...

  8. HDU2457 DNA repair —— AC自动机 + DP

    题目链接:https://vjudge.net/problem/HDU-2457 DNA repair Time Limit: 5000/2000 MS (Java/Others)    Memory ...

  9. Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ]

    Yii2使用Redis - 从安装redis到使用 [ 2.0 版本 ] 一.安装Redis和简单配置 1. 下载Redis安装包 地址:http://redis.io/download , 本文选择 ...

  10. 《java编程思想》读后笔记:一,标签

    标签 是后面跟有冒号的标识符,格式如下: label : java中通过break与continue关键词可以完成类似于跳转的操作,其实现机制便是标签. 虽然很少有人使用,但是其有自身的适用场景:多层 ...