2014-01-29 26 views
0

我試圖實現對用戶的基本刪除操作方法:從我DATABSE背景的基礎上刪除ID的用戶

private User_Manager_Interface.Models.ApplicationDbContext userDb = new User_Manager_Interface.Models.ApplicationDbContext(); 
    // POST: /Users/Delete/5 
    [HttpPost] 
    public ActionResult Delete(int id, FormCollection collection) 
    { 
     try 
     { 
      // TODO: Add delete logic here 

       //.Remove(u => u.id == id); 
      return RedirectToAction("Index"); 
     } 
     catch 
     { 
      return View(); 
     } 
    } 

我不完全知道如何刪除用戶。

這是我到目前爲止已經試過:

userDb.Users.Remove(); But now I don't know how to tell it to delete the user with a certain ID? 

我該怎麼辦呢?

回答

1

假設您的userDbDbContext(而不是ObjectContext),有幾種方法可以實現您的目標。 您可以通過以下方式做到這一點:

var user = userDb.Users.FirstOrDefault(u => u.UserId == id); 
if(user != null) 
{ 
    userDb.Users.Remove(user); 
} 

或者你可以這樣做:

var user = userDb.Users.FirstOrDefault(u => u.UserId == id); 
if(user != null) 
{ 
    userDb.Entry(user).State= EntityState.Deleted; 
    userDb.SaveChanges(); 
} 
0

退房本教程 -

using (var dbCtx = new SchoolDBEntities()) 
     { 

      //if already loaded in existing DBContext then use Set().Remove(entity) to delete it. 
      var newtchr = dbCtx.Teachers.Where(t => t.TeacherName == "New teacher4") 
           .FirstOrDefault<Teacher>(); 
      dbCtx.Set(Teacher).Remove(newtchr); 

      //Also, you can mark an entity as deleted 
      //dbCtx.Entry(tchr).State = System.Data.EntityState.Deleted;  

      //if not loaded in existing DBContext then use following. 
      //dbCtx.Teachers.Remove(newtchr); 

      dbCtx.SaveChanges(); 
     } 
- 從教程 Remove Entity in Entity Framework

示例代碼