2010-06-16 2 views
0

를 사용하여 i는 ASP.NET MVC와 EF를 사용하고 내 컨트롤러에서 나는 같은 것을 사용하고 있습니다 :MVC 및 EF -

public ActionResult Index() 
     { 
      using (MyEntities db = new MyEntities()) 
      { 
       var _info = db.INFORMATION; 
       return View(_info); 
      } 

     } 

을하고 나에게 다음 오류가 발생합니다. (ⅰ 문을 사용 을 사용하는 경우)

에러 :

ObjectContext의 인스턴스가 삭제 된 경우와 더 이상 연결을 요구 조작에 사용 할 수 없다.

내보기에이 같은 호출 오전 :

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MVC_EF_Model.INFORMATION>" %> 

<% foreach (var item in Model) { %> 

     <tr>........... 
     .............. 

답변

3

보기에 전달하려면 컬렉션을 열거해야합니다. 이런 식으로 뭔가 다음 정보를 정기적으로 엔티티를로드 요청을 수행 할 때

return View(_info.ToArray()); 

은 실제로 당신이 그렇게 당신의 데이터 컨텍스트가 더 이상 존재하지 않는 사용하여 사용하고 있습니다. 따라서 처리되기 전에이 요청을 수행하도록 지정해야합니다.

0

당신은 객체의 일부 아동 정보를 얻기 위해 노력하고 있습니까? 이로 인해 더 이상 db에 연결하지 않아도 문제가 발생할 수 있습니다.

사용중인 MVC 및 EF 버전은 무엇입니까?

3.5의 경우에는 지연로드가 없거나 제한적입니다.

4 인 경우 지연로드를 true로 설정해야 할 수 있습니다.