2016-10-17 82 views
-2

如何刪除記錄?
我需要刪除通過使用外鍵找到的記錄。我將它存儲爲一個變種,但現在我不能刪除它。有什麼建議麼?如何使用C刪除數據庫中的記錄#

// POST: Account/Delete/5 
[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Delete(int id, Leerling ll) 
{ 
    var login = from l in db.myLogin 
       where id == l.leerlingId 
       select l; 
    db.myLogin.Remove(login???); 
    db.Entry(ll).State = System.Data.Entity.EntityState.Deleted; 
    db.SaveChanges(); 

    return RedirectToAction("Index");// het record verwijderen en redirecten als het gelukt is 
} 
+3

你會得到什麼錯誤? – Badiparmagi

回答

-1

在查詢login對象,但刪除您需要選擇一個單一的之一,所以使用FirstOrDefault()方法來選擇單記錄的記錄的集合,然後刪除使用Remove()方法和SaveChanges()

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult Delete(int id, Leerling ll) 
{ 
    var login = (from l in db.myLogin 
        where id == l.leerlingId 
        select l).FirstOrDefault(); 
    if(login != null) 
    { 
     db.myLogin.Remove(login); 
     db.Entry(ll).State = System.Data.Entity.EntityState.Deleted; 
     db.SaveChanges(); 
    } 


    return RedirectToAction("Index");// het record verwijderen en redirecten als het gelukt is 
} 
+0

爲什麼downvote請解釋一下? – Mostafiz

+1

yap我認爲是這樣,它太刺激了 – Mostafiz

-1

Depends中在數據庫結構上。您通常不想刪除行,而是使用某種狀態列,其中一個值指示行被刪除。這樣你就可以確保你不會把別的東西搞砸了。

但如果你只是想刪除一行,你應該簡單地可以做這樣的事情:

var login = db.myLogin.find(id); 
db.myLogin.Remove(login); 
db.SaveChanges(); 

如果你得到了一些errormessage的說一些關於你必須刪除所有的外鍵扶養首先遭遇這個對象的對象。

希望這會有所幫助。

相關問題