2010-06-16 54 views
0

我使用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()); 

事实上你正在使用的使用让你的DataContext不存在了执行加载的相关信息实体的请求时。所以你需要指示它在处置之前执行这个请求。

0

你试图让从物体一些孩子的信息?这可能会导致问题,因为你不再有连接到数据库。

您使用的是什么版本的MVC和EF?

如果它的3.5那么没有或有限的延迟加载。

如果它的4您可能需要将延迟加载设置为true。