我的问题是我正确地将图片添加到图片中,但是当我试图删除它时...
public ActionResult DeleteConfirmed(int id)
{
article article = db.articles.Find(id);
db.articles.Remove(article);
db.SaveChanges();
var a = db.image.Where(r => r.articleid == id);
foreach (var b in a)
{
string location = Path.Combine(Server.MapPath(b.url));
System.IO.File.Delete(location);
article.images.Remove(b);
}
db.SaveChanges();
return RedirectToAction("Index");
}
答案 0 :(得分:1)
只是一个疯狂的猜测,但第一个db.SaveChanges();
从数据库中删除了文章,那么在你拿出删除文件所需的ID之前,它是否也可以级联并删除相关的图像引用?
尝试删除第一个db.SaveChanges();
答案 1 :(得分:0)
您需要先删除图像,然后删除任务。或者在表格中使用级联。
答案 2 :(得分:0)
it should be
db.image.Remove(B);
instead of
article.image.remove(b)