MVC多对多删除

时间:2013-05-25 08:55:23

标签: asp.net-mvc entity-framework many-to-many

我和一些桌子有很多关系。我正在使用实体框架。

预订>> ApartsToReservations<< Aparts的

ApartsToReservations包括ReservationID和ApartID。

我的删除操作如下:

public ActionResult DeleteReservation(string resultId)
    {
        var result = Convert.ToInt32(resultId.Trim());           
        //just I have reservationID           

        return View();
    }

如何删除预订?

1 个答案:

答案 0 :(得分:1)

  

如何删除预订?

例如:

[HttpPost] // <- should be a POST action because it's modifying data
public ActionResult DeleteReservation(string resultId)
{
    var result = Convert.ToInt32(resultId.Trim());
    //just I have reservationID

    using (var context = new MyContext())
    {
        var reservation = new Reservation { ReservationID = result };
        context.Reservations.Attach(reservation);
        context.Reservations.Remove(reservation);
        context.SaveChanges();
    }

    // ... redirect to Index or something, for example:
    // return RedirectToAction("Index");
}

如果您已将context实例作为控制器类的成员,请使用此实例,而不是在using块中创建新实例。

代码还会删除ApartsToReservations链接表中的相关记录,因为默认情况下,此表的关系是使用级联删除配置的。

我不太确定这是否是您正在寻找的内容,因为如果Reservation涉及您提到的多对多关系,实际上并不重要。它只是用DbContext删除实体的(或一种)标准方法。

如果您正在寻找不同的东西,请尝试澄清您的问题或提出一个更清晰的新问题。