我正在创建一个包含类似按钮的项目。这一切都在删除记录之前一直在进行。
长删除会在数据库中返回正确的ID。这是代码。我显然错误地使用 db.Likes.Remove(删除)。
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#的新手所以请保持简单=)谢谢。
答案 0 :(得分:4)
如果您要删除商品,请不要选择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();
}