2013-03-29 2 views
0

현재 Jtable을 사용하여 이벤트 유형 목록을 처리하고 있지만 표를 통해 삭제하려고 할 때마다 "값을 null로 설정할 수 없습니다. 매개 변수 이름 : 엔티티 ".개체 상태 관리자에서 찾을 수 없기 때문에 개체를 찾을 수 없습니다.

[HttpPost] 
    public JsonResult DeleteEventType(EventType eventType) 
    { 
     using (var db = new ICTTBEntities()) 
     { 
      try 
      { 
       var newObj = db.EventTypes.SingleOrDefault(e => e.EventTypeID == eventType.EventTypeID); 
       if (newObj != null) 
       { 
        db.EventTypes.Remove(newObj); 
        db.SaveChanges(); 
        return Json(new { Result = "OK" }); 
       } 
       return Json(new { Result = "ERROR", Message = "eventType is null" }); 
      } 
      catch (Exception ex) 
      { 
       return Json(new { Result = "ERROR", Message = ex.Message }); 
      } 
     } 
    } 

어떤 조언이 필요합니까?

답변

0

다른 ICTTBEntities 컨텍스트를 통해 eventType을 얻습니다. 따라서 새로운 컨텍스트에서이를 찾을 수 없습니다.

Id를 통해 새 컨텍스트에서 eventType을 가져 오십시오.

또한 개체를 제거한 후 컨텍스트에서 SaveChanges를 호출하는 것을 잊지 마십시오.

사용

var newObj = db.EventTypes.Single(e => e.Id == eventType.Id); 
db.EventTypes.Remove(newObj); 
db.SaveChanges(); 
관련 문제