繁体   English   中英

从数据库中删除记录

[英]Deleting Records from a database

我正在创建一个包含“赞”按钮的项目。 直到删除记录为止,一切都在进行。

long delete在数据库中返回正确的ID。 这是代码。 我显然是在以错误的方式使用db.Likes.Remove(delete)

public ActionResult LikePicture(int userID, int pictureID)
    {
        Picture picture = new Picture();
        bool liked = picture.LikePicture(userID, pictureID);

        if (liked == true) //Remove Like
        {
            long delete = (from like in db.Likes
                     where userID == like.UserID && pictureID == like.PictureID
                     select like.LikeID).SingleOrDefault();


                     // Remove like from database
                     **db.Likes.Remove(delete);



        }
        else 
        {
            // Add like to database
        }

        return RedirectToAction("Index");
    }

我一直在寻找db.Likes.DeleteOnSubmit(),但是intelesense没有给我这个选项,所以我尝试了删除。 正如我将要回答的所有问题一样,我是C#的新手,所以请保持简单=)谢谢。

如果要删除项目,请不要选择ID选择项目

var item = (from like in db.Likes
                 where userID == like.UserID && pictureID == like.PictureID
                 select like).FirstOrDefault();

并且您可以使用FirstOrDefault来避免异常,然后检查null并Remove该项目:

if(item != null)
{
    db.Likes.Remove(item);
    db.SaveChanges();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM