c# - 从数据库中删除记录

标签 c# mysql asp.net-mvc linq

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

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(),但智能感知没有给我这个选项,所以我尝试了删除。正如我要回答的所有问题一样,我是 C# 的新手,所以请保持简单 =) 谢谢。

最佳答案

不要选择ID如果你想删除你的项目选择你的项目

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

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

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

关于c# - 从数据库中删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21836400/

相关文章:

c# - 将 Canvas 转换为图像并保存到光盘

php - 显示 PHP 数组中值的计数

mysql - 从两个不同的行中为单个名称选择两个值

c# - UWP - 通过 C# 中的 GPS 传感器明确获取位置坐标

c# - SqlDataAdapter.Fill() "="附近的语法不正确 C#

mysql - 仅选择将来的记录

c# - 模型中的razor foreach无法使用

c# - 缺少程序集引用错误显示,但引用已存在

asp.net-mvc - 单元测试自定义模型绑定(bind)器 - 假 HttpContext 问题

c# - TextRange GetPositionAtOffset 未按预期运行