누구나 왜 다음 코드가 API 컨트롤러 (MVC4)에서 작동하지 않는지 알 수 있습니까? "폐기 된 객체에 액세스 할 수 없습니다"라는 오류 메시지가 나타납니다. 다른 경우에는 ToList()를 호출해야 쿼리가 강제로 실행된다는 것을 알았습니다. 하지만 제 경우에는 SingleOrDefault()를 사용하고 있습니다. 데이터베이스에서 바로 실행되지 않습니까?force singleordefault to
public HttpResponseMessage GetPurchaseOrder(int POId)
{
PurchaseOrder po;
HttpResponseMessage resp;
using (PMDataDataContext database = new PMDataDataContext())
{
po = database.PurchaseOrders.SingleOrDefault(x => x.POId == POId);
if (po == null)
{
var message = string.Format("id = {0} not found", POId);
HttpError err = new HttpError(message);
resp = Request.CreateResponse(HttpStatusCode.NotFound, err);
}
else
{
resp = Request.CreateResponse(HttpStatusCode.OK, po);
}
}
return resp;
}
나는 내 문제를 해결하기 위해이 대답을 포기하고 싶었다. 그러나 나는 명성 점수가 충분하지 않기 때문에 나를 허락하지 않았다. – Ray
오, 방금 알아 냈습니다. 나는 내가 체크 표시를 클릭 할 수 있다는 것을 몰랐다. – Ray