Entity FrameWork 增删查改的本质
之前的文章里面已经说了,EF的增删查改。那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除。。。现在来一个改进版的,增删查改。
1.Add
static void Add()
{
//1.创建student对象,并使用对象初始化器,初始化这个对象
Studnet stu = new Studnet()
{
s_Name = "古巨基",
s_Sex = "男",
s_Age = ,
c_ID = , }; //2。将对象加入到EF,并获取当前实体的状态管理对象
DbEntityEntry entry= db.Entry<Studnet>(stu);
//3.设置对象的状态为Added(entry.State)
entry.State = System.Data.EntityState.Added;
//4.保存到数据库
db.SaveChanges(); //测试代码
Console.WriteLine("新增成功");
}
ADD
2.Modify
/// <summary>
/// 自己动手写修改(优化的修改方式,创建对象直接修改)
/// </summary>
static void Edit()
{ //1.查询出一个要修改的对象
Studnet stu = new Studnet()
{
//1.查询出一个要修改的数据
//数据库中有s_ID为12的数据,这句话的意思是,把s_ID=12的记录的
//名字改为“小白!!!”,性别改为“女”,年龄改为“23”
s_ID = ,
s_Name = "小白!!!",
s_Sex = "女",
s_Age = ,
}; //2,把对象加入到EF容器,并获取当前实体对象的状态管理对象
DbEntityEntry entry=db.Entry<Studnet>(stu);
//3.设置该对象未被修改过,Unchanged.
entry.State = System.Data.EntityState.Unchanged;
//4.设置修改过的属性
entry.Property("s_Name").IsModified = true;
entry.Property("s_Sex").IsModified = true;
entry.Property("s_Age").IsModified = true; //5.保存数据库
db.SaveChanges(); //---测试
Console.WriteLine("修改成功"); }
Modify
3Delete
/// <summary>
/// 删除
/// </summary>
static void Delete()
{ //1创建需要删除的对象,这里只是测试,删除Id=15的数据
Studnet stu = new Studnet() { s_ID = }; //2将对象加入到EF容器,并获取当前对象的状态管理对象
DbEntityEntry<Studnet> entry= db.Entry<Studnet>(stu); //3.把对象的状态改为Deleted
entry.State = System.Data.EntityState.Deleted; //4把数据保存到数据库
db.SaveChanges();
//测试用-----------------------
Console.WriteLine("删除成功");
}
Delete
Entity FrameWork 增删查改的本质的更多相关文章
- Entity FrameWork 增删查改
Add #region 1.0 新增+void Add() /// <summary> /// 新增 /// </summary> static void Add() { // ...
- Entity Framework(三)---FluentAPI和增删查改
一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...
- 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- 3.EF 6.0 Code-First实现增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
- 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- EF各版本增删查改及执行Sql语句
自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...
- 在MVC中使用泛型仓储模式和工作单元来进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...
- 在MVC中使用泛型仓储模式和依赖注入实现增删查改
标签: 原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository ...
随机推荐
- 高吞吐量的分布式发布订阅消息系统Kafka--安装及测试
一.Kafka概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因 ...
- R语言之词云:wordcloud&wordcloud2安装及参数说明
一.wordcloud安装说明 install.packages("wordcloud"); 二.wordcloud2安装说明 install.packages("dev ...
- 面向.Net程序员的Sql版本管理
代码版本管理基本上程序员们都知道 TFS GIT SVN等等 但是对于数据库版本管理 java程序员或许会了解一些 但是.Net程序员收获的资料应该不多. 特别是现在云概念使用越来越广的情况下,与应用 ...
- 【Cocos2d-Js基础教学(6)网络层(弱联网)的封装及使用】
谈到联网,在游戏中也是非常核心的模块,在官方Js-test中我们可以找到联网部分 的NetworkTest文件下有两个类 SocketIOTest.js(Socket 类) WebSocketTest ...
- 【转】如何判断Javascript对象是否存在
Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...
- LoadRunner性能测试结果分析
LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html
- java-cef系列视频第三集:添加flash支持
上一集我们介绍了如何搭建java-cef调试环境. 本视频介绍如何给java-cef客户端添加flashplayer支持 第四集视频我们将介绍java-cef中的自定义协议. 本作品采用知识共享署名- ...
- Etl之HiveSql调优(设置map reduce 的数量)
前言: 最近发现hivesql的执行速度特别慢,前面我们已经说明了left和union的优化,下面咱们分析一下增加或者减少reduce的数量来提升hsql的速度. 参考:http://www.cnbl ...
- 非常简单实用的Python HTTP服务
在做分布式系统应用的时候经常在测试环境上传一个包,或者干嘛的,公司的服务器比较bug,只给ldap权限,每次只能scp到自己的个人目录下,然后才能进到公共账号下去cp,比较麻烦.这时候如果你需要一个简 ...
- linux 系统运维
Linux 系统监控1.进程 查看所有进程 ps -ef ps -ef |grep nginx 结束进程 # 结束进程号为5031 kill -g 5031 # 结束 ...