2016-10-17 80 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的说一些关于你必须删除所有的外键扶养首先遭遇这个对象的对象。

希望这会有所帮助。

相关问题