簡體   English   中英

如何使用C#刪除數據庫中的記錄

[英]How to delete a record in database using C#

如何刪除記錄?
我需要刪除使用外鍵找到的記錄。 我將它存儲為 var 但現在我無法刪除它。 有什么建議?

// 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
}

在您的查詢中login對象集合但要刪除記錄,您需要選擇一個記錄,因此使用FirstOrDefault()方法選擇單個記錄,然后使用Remove()方法和SaveChanges() Remove()

[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
}

取決於數據庫結構。 您通常不想刪除行,而是使用某種狀態列,其中一個值表示該行已被刪除。 這樣你就可以確保你不會把其他事情搞砸。

但是,如果您只想刪除一行,您應該可以簡單地執行以下操作:

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

如果您收到一些關於外鍵依賴的錯誤消息,您必須首先刪除所有引用此對象的對象。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM