.net – Entity Framework 4.1:如何按对象ID删除

我想知道如何从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());
}

转载注明原文:.net – Entity Framework 4.1:如何按对象ID删除 - 代码日志