我正在创建一个包含“赞”按钮的项目。直到删除记录为止,一切都在进行。
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();
}
关于c# - 从数据库中删除记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21836400/