EF 更新 删除

原创 2016年06月02日 09:58:18

为了避免先查询后更新或删除的问题

可以使用如下语句

Entities db = new Entities();

            Orders o = new Orders();
            o.id = 6;
            o.name = "test";
            o.parentid = 1;
            o.code = "";

            //更新
            db.Entry<Orders>(o).State = EntityState.Modified;
            //删除
            db.Entry<Orders>(o).State = EntityState.Deleted;

            db.SaveChanges();

PS:如果你需要查询出原来的语句,然后在进行复制

那么你需要类似于这样:

var q=db.User.AsNoTracking().first()......

不然使用上面的更新方法会报错,存在相同的跟踪。。。。。。记得加上  AsNoTracking()





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

EF中的增删改查

在上一篇中简单的介绍了一下有关EF的一些概念,都是小编的一些个人理解,懂的不多,想深入学习的可以从网上查看一些其他资料。    下面紧接着上一篇所说,来从代码上看一下EF容器是如何实现与后台数据库之...

EF 数据更新

下边是EntityFramework数据更新方面的几个技巧:  1:如何new一个新实体去更新记录,而不是从数据库中查询一条记录来更新。  2:如何在更新实体的同时,对导航属性的实体进行一系列的操...

EF直接更新数据(不需查询)

EF中会为每个 管理的 实体对象 创建一个代理包装类对象,其中会跟踪 实体对象 的状态和每个属性的状态;     一、通常使用EF更新的方式,先查询出要修改的数据,然后再修改新的值;实体对象被修...
  • jin8907
  • jin8907
  • 2013年03月18日 17:17
  • 8644

Entity Framework DbContext对一个Entity 进行更新。

EF的DbContext可以实现对一个对象进行更新,而不需要再一次将对象读入内存进行修改,而是采用Attach的方式。 Student stud ; // Get student from D...
  • kmguo
  • kmguo
  • 2014年02月27日 15:21
  • 25819

EF 批量更新/删除数据

在网上找了很久,得到的答案是”Entity Framework 中不能同时更新多条记录”,历经这么多版本,居然还没有这种基本功能,我真的很无语了.还要先查询出来,然后再对实体更新或删除,那效率可想而知...
  • lee576
  • lee576
  • 2015年04月07日 16:57
  • 16971

EF简单的增删查改

Add 1 2 /// 3 /// 4 /// 5 public void Add() 6 ...

EntityFramework中常用的数据删除方式

最近在学EF,目前了解到删除操作有三种方式, 第一,官方推荐的先查询数据,再根据查询的对象,删除对象。 这是第一种,官方推荐 第二,自己创建一个对象,然后附加,然后删除。 ...
  • itmaxin
  • itmaxin
  • 2015年08月14日 12:14
  • 12981

EF扩展库(批量操作--删除、更新等)

EF删除和修改数据只能先从数据库取出,然后再进行删除   delete from Table1 where Id>5;   update Table1 set Age=10; 我们需...

EF学习和使用(七)EF性能优化篇

自从ITOO平台旗下的评教系统问世之后,其性能问题引起了轩然大波。CPU占用过高,页面反映速度超慢,根本无法正常使用,为此我们专门成立一个性能优化小队,去研究为什么系统性能这么低,怎么优化性能?框架中...

Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)

今天乍一看,园子里居然没有关于这个类库的文章,实在是意外毕竟已经有很多介绍EF使用的文章了。 E文好的可以直接看https://github.com/loresoft/EntityFramework...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EF 更新 删除
举报原因:
原因补充:

(最多只允许输入30个字)