之前的文章里面已经说了,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 增删查改的本质的更多相关文章

  1. Entity FrameWork 增删查改

    Add #region 1.0 新增+void Add() /// <summary> /// 新增 /// </summary> static void Add() { // ...

  2. Entity Framework(三)---FluentAPI和增删查改

    一.FluentAPI: 1.基本配置: namespace ConsoleApp14.ModelConfig { public class PersonConfig: EntityTypeConfi ...

  3. 6.在MVC中使用泛型仓储模式和依赖注入实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  4. 3.EF 6.0 Code-First实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...

  5. 4.在MVC中使用仓储模式进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...

  6. 5.在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  7. EF各版本增删查改及执行Sql语句

    自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...

  8. 在MVC中使用泛型仓储模式和工作单元来进行增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository-pat ...

  9. 在MVC中使用泛型仓储模式和依赖注入实现增删查改

    标签: 原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-the-generic-repository ...

随机推荐

  1. CSS计数器的趣味时光

    CSS计数器是“啊太好了,竟不知道CSS可以做这啊”这类非常有趣的众多特性之一.简言之,用CSS使你持续某增加某个量,而无需JavaScript. 简单计数器 我们从这个简单的分页示例开始: 你见到的 ...

  2. 软件包管理 之 RPM 基础 《RPM 的介绍和应用》

    RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva. ...

  3. Android ImageView src与backgroud

    在XML中添加ImageView时,有两个可以设置图片的地方,一个是android:src,一个是android:background,这两个的区别: src是图片内容,显示在前面的,backgrou ...

  4. Strategy策略设计模式

    1.策略模式和状态模式的区别和联系(本部分转载自:http://letscoding.cn/java%E4%B8%AD%EF%BC%8C%E7%8A%B6%E6%80%81%E6%A8%A1%E5%B ...

  5. 关于创建可执行的jar文件(assembly)

    java利用maven生成一个jar包,如何自动生成清单属性文件(MANIFEST.MF),如何解决jar依赖问题? 办法很简单: 只需在pom.xml文件中配置如下plugin即可: <plu ...

  6. iOS开发——高级技术精选&底层开发之越狱开发第一篇

    底层开发之越狱开发第一篇 做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进 ...

  7. Openvswitch原理与代码分析(4):网络包的处理过程

      在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用.   stati ...

  8. Rxlifecycle(三):坑

    坑1 Observable.just("hello world!") .compose(this.<String>bindUntilEvent(ActivityEven ...

  9. [原]OpenGL基础教程(五)缓冲区数据更新方式

    1.glBufferSubData 适用于相同数据类型 void SetPositionY(float y){    vector<Vector3<float>>::itera ...

  10. java-cef系列视频第一集:从官方代码编译

    本视频介绍了如何从官方给出步骤编译java-cef代码,生成可运行可移植的发行版. 值得一提的是:截至2016-09-24java-cef代码编译方式有所改变,读者请自行查看bitbucket上关于编 ...