Я использую .Net 4.0 EF 4.0.Объект ObjectContext удален
У меня есть три таблицы в базе данных myentity, mygroup и myapplication. myentity может принадлежать от 1 до более mygroups и имеет от 1 до более myapplications и сопоставляется с EF. Я тогда myentityrepository класс предоставляет метод как таковые:
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();
}
В моем controller.cs MVC, я получаю имя и заполнил мой ViewModel с объектом MyEntity. После возврата на страницу просмотра я получил ошибку выше.
[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();
}
Просьба помочь. TIA,
-t