2013-05-07 2 views
0

.Net 4.0 EF 4.0을 사용하고 있습니다.ObjectContext 인스턴스가 삭제되었습니다.

데이터베이스 myentity, mygroup 및 myapplication에 세 개의 테이블이 있습니다. myentity는 1 개 이상의 mygroups에 속할 수 있으며 1 개 이상의 myapplications가 있고 EF에 매핑됩니다. 내가 이름을 얻을 myentity 객체 내 뷰 모델을 작성, 내 MVC의 controller.cs에서

public MyEntity GetByName(string name) 
    { 
     var v = Set().Where(x => x.Name == name) 
      .Include(x => x.MyEntityMyApplications) 
      .Include(x => x.MyEntityMyGroups); 
     v.Load(); 
     //v.ToList(); 

     return v.FirstOrDefault(); 
    } 

을 : 나는 다음 myentityrepository 클래스는 등의 방법을 공개합니다. 뷰 페이지로 돌아간 후에 위의 오류가 발생했습니다.

 [HttpGet] 
    public ActionResult GetMyentityAjax(string name) 
    { 
      MyViewModel uvm = new MyViewModel(); 
     using (IUnitOfWork unitOfWork = new UnitOfWork(new MyentityEntityContextFactory())) 
     { 
      Myentity me = _myentityRepository.GetByName(name); 

      if (me != null) 
      { 
       uvm.Name = me.Nme; 
       ...      
       uvm.MyentityMyApplication = me.MyentityMyApplication.ToList(); 
       uvm.MyentityMygroups = me.MyentityMygroups .ToList(); 
      } 
     } 
     return Json(uvm, JsonRequestBehavior.AllowGet);   } 
     //Even turned the lazyloding to false in //MydataModel.designer.cs as below 
    public MyappEntities() : base("name=MyappEntities", "MyappEntities") 
     { 
     //#### CHANGE ME ###### 
     //this.ContextOptions.LazyLoadingEnabled = true; 
     this.ContextOptions.LazyLoadingEnabled = false; 
     //#### END ##### 
     OnContextCreated(); 
     } 

도와주세요. 세 가지를 모두 변경 한 후

답변

0

-t TIA는, mydatamodel.designer.cs false로 this.ContextOptions.LazyLoadingEnabled 예외는 없어.

관련 문제