2013-05-25 2 views
1

나는 많은 관계를 여러 테이블에 있습니다. 엔티티 프레임 워크를 사용하고 있습니다.많은 MVC 많은 삭제

예약 >> ApartsToReservations는

ApartsToReservations < < Aparts는 예약 ID와 ApartID을 포함한다.

아래 내 삭제 조치 :

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

     return View(); 
    } 

어떻게 예약을 삭제할 수 있습니까?

답변

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"); 
} 

이미이 대신 using 블록의 새 창조의 컨트롤러 클래스 사용의 구성원으로 context 인스턴스가있는 경우.

기본적으로이 테이블과의 관계는 계단식 삭제로 구성되어 있기 때문에이 코드는 ApartsToReservations 링크 테이블의 관련 레코드를 삭제합니다.

Reservation이 언급 한 다 대 다 관계에 관련되어 있다면 실제로 문제가되지 않기 때문에 이것이 확실한 지 잘 모르겠습니다. DbContext으로 엔티티를 삭제하는 것은 (또는 하나의) 표준 방법 일뿐입니다.

다른 것을 찾고 있다면 질문을 명확히하거나 더 명확한 질문을하십시오.