1

我有一些表的多对多关系。我正在使用实体框架。

预订 >> 公寓到预订 << 公寓

ApartsToReservations 包括 ReservationID 和 ApartID。

和我下面的删除操作:

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

        return View();
    }

如何删除预订?

4

1 回答 1

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

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

于 2013-05-25T15:20:47.727 回答