我想知道如何从Entity Framework 4.1中删除对象,而不必首先从数据库中加载对象。我在堆栈溢出中找到了these other 2个答案,但它们与EF 4.1不相关

我尝试了以下代码,但它不起作用

public void DeleteCar(int carId)
{
  var car = new Car() { Id = carId };
  _dbContext.Cars.Attach(car);
  _dbContext.Cars.Remove(car);
  _dbContext.SaveChanges();
}

我想避免下面的代码。
public void DeleteCar(int carId)
{
  var car = context.Cars.Find(carId);
  _dbContext.Cars.Remove(car);
  _dbContext.SaveChanges();
}

而且我不想调用存储过程或执行原始sql。

最佳答案

我将以下内容用于删除,效果很好。

public virtual ActionResult Delete(int commentID)
{
    var c = new Comment(){CommentID = commentID};
    db.Entry(c).State= EntityState.Deleted;
    db.SaveChanges();
    return RedirectToAction(MVC.Blog.AdminComment.Index());
}

10-08 16:51