]Linq to EF 增删改查
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 增删改查的更多相关文章
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...
- 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图. 1.首先建立一个数 ...
- WPF MVVM+EF增删改查 简单示例(二) 1对1 映射
WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...
- C# EF增删改查
1.增 //1.创建一个EF数据上下文对象 MyDBEntities context=new MyDBEntities(); //2.将要添加的数据,封装成对象 Users user = new Us ...
- MVC3.0 EF增删改查的封装类
本人亲身使用EF CodeFirst,因为增删改查都是使用EF内置的一些方法,我想把它封装到一个类调用就行了.结合网上的资料和自己的整理,若有不对的地方望斧正,感激不尽.直接上代码吧.我就用新闻的增删 ...
- linq的简单增删改查
Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- Linq to sql 增删改查(转帖)
http://blog.csdn.net/pan_junbiao/article/details/7015633 (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...
- EF学习笔记-1 EF增删改查
首次接触Entity FrameWork,就感觉非常棒.它节省了我们以前写SQL语句的过程,同时也让我们更加的理解面向对象的编程思想.最近学习了EF的增删改查的过程,下面给大家分享使用EF对增删改查时 ...
随机推荐
- mysql系列之3.mysql进阶
启动原理 mysqld脚本-->mysqld_safe脚本-->mysqld服务-->启动mysql 强制关闭mysql: 三种方法, 不建议用! killall mysqld pk ...
- 【题解】P4799[CEOI2015 Day2]世界冰球锦标赛
[题解][P4799 CEOI2015 Day2]世界冰球锦标赛 发现买票顺序和答案无关,又发现\(n\le40\),又发现从后面往前面买可以通过\(M\)来和从前面往后面买的方案进行联系.可以知道是 ...
- OpenCV改变像素颜色
Mat src=imread("image/color.jpg"); imshow("a",src); int i,j; int cPointR,cPointG ...
- 转 EBP ESP 的理解
PS:EBP是当前函数的存取指针,即存储或者读取数时的指针基地址:ESP就是当前函数的栈顶指针.每一次发生函数的调用(主函数调用子函数)时,在被调用函数初始时,都会把当前函数(主函数)的EBP压栈,以 ...
- 【ES6】更易于继承的类语法
和其它面向对象编程语言一样,ES6 正式定义了 class 类以及 extend 继承语法糖,并且支持静态.派生.抽象.迭代.单例等,而且根据 ES6 的新特性衍生出很多有趣的用法. 一.类的基本定义 ...
- ActiveMQ持久化机制
用户注册成功后发短信提醒 同步http 异步mq JMS中两种通讯模式: 发布订阅 一对多 topic 去过消费者集群的话 都会消费 消息队列 点对点 queue 去过消费者集群的话 ...
- Ajax不能接受php return值的原因
PHP在处理ajax返回值的时候,如果使用return如 return $result会失败,echo $result却没问题.解释原因如下: 1.ajax请求从服务器端读取返回值,而且这些返回值必须 ...
- mysql七:视图、触发器、事务、存储过程、函数
阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ...
- legend2---开发日志14(游戏对用户友好的设计思路)
legend2---开发日志14(游戏对用户友好的设计思路) 一.总结 一句话总结: 不强制,但是激励:比如宗门灵力等级从强制提升到提升宗门和用户的修炼速度 1.丹药有必要做成随机数值么? 没有 1. ...
- (转)C++经典面试题(最全,面中率最高)
1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数.malloc与free是C++/C语言的标准库函数,new ...