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 ...
随机推荐
- CSS计数器的趣味时光
CSS计数器是“啊太好了,竟不知道CSS可以做这啊”这类非常有趣的众多特性之一.简言之,用CSS使你持续某增加某个量,而无需JavaScript. 简单计数器 我们从这个简单的分页示例开始: 你见到的 ...
- 软件包管理 之 RPM 基础 《RPM 的介绍和应用》
RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva. ...
- Android ImageView src与backgroud
在XML中添加ImageView时,有两个可以设置图片的地方,一个是android:src,一个是android:background,这两个的区别: src是图片内容,显示在前面的,backgrou ...
- Strategy策略设计模式
1.策略模式和状态模式的区别和联系(本部分转载自:http://letscoding.cn/java%E4%B8%AD%EF%BC%8C%E7%8A%B6%E6%80%81%E6%A8%A1%E5%B ...
- 关于创建可执行的jar文件(assembly)
java利用maven生成一个jar包,如何自动生成清单属性文件(MANIFEST.MF),如何解决jar依赖问题? 办法很简单: 只需在pom.xml文件中配置如下plugin即可: <plu ...
- iOS开发——高级技术精选&底层开发之越狱开发第一篇
底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...
- Openvswitch原理与代码分析(4):网络包的处理过程
在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用. stati ...
- Rxlifecycle(三):坑
坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...
- [原]OpenGL基础教程(五)缓冲区数据更新方式
1.glBufferSubData 适用于相同数据类型 void SetPositionY(float y){ vector<Vector3<float>>::itera ...
- java-cef系列视频第一集:从官方代码编译
本视频介绍了如何从官方给出步骤编译java-cef代码,生成可运行可移植的发行版. 值得一提的是:截至2016-09-24java-cef代码编译方式有所改变,读者请自行查看bitbucket上关于编 ...