我正在创建一个包含“赞”按钮的项目。一直到删除记录为止。
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/