猿教程 Logo

断开状态下删除实体

在上一节中,我们使用Entry()方法设置实体状态为Modified。

以同样的方式,我们可以使用Entry()方法来将一个断开连接的实体附加到新的上下文并设置状态为Deleted。

Student studentToDelete;
//1. Get student from DB
using (var ctx = new SchoolDBEntities())
{
    studentToDelete = ctx.Students.Where(s => s.StudentName == "Student1").FirstOrDefault<Student>();
}

//Create new context for disconnected scenario
using (var newContext = new SchoolDBEntities())
{
    newContext.Entry(studentToDelete).State = System.Data.Entity.EntityState.Deleted;    

    newContext.SaveChanges();
}

上面所示的代码将向Student表中执行以下删除操作:

delete [dbo].[Student]
where ([StudentId] = @0)',N'@0 int',@0=1

现在,您可以用这种方法在不连贯的场景中删除一个单一的实体。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/entity/delete-entity.html