Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP MVC4中的MVC Scaffold在访问页面时抛出错误(打开数据读取器和多个连接)_C#_Mysql_Entity Framework_Entity Framework 4_Asp.net Mvc 4 - Fatal编程技术网

C# ASP MVC4中的MVC Scaffold在访问页面时抛出错误(打开数据读取器和多个连接)

C# ASP MVC4中的MVC Scaffold在访问页面时抛出错误(打开数据读取器和多个连接),c#,mysql,entity-framework,entity-framework-4,asp.net-mvc-4,C#,Mysql,Entity Framework,Entity Framework 4,Asp.net Mvc 4,我已经生成了一个实体(城市),现在我尝试根据本教程使用MVC脚手架生成脚手架: 我遇到的问题是,我在MySQL服务器上执行此操作时,出现以下错误: 已存在与此连接关联的打开的DataReader 必须先关闭它 我环顾四周,发现有些人必须在他们的connectionstring中启用MARS(多个活动结果集),但MySQL显然没有这样的参数。我还尝试了AllowBatch=True,但也没有成功。这是我的连接字符串: <add name="socialgeogroep6Entities" c

我已经生成了一个实体(城市),现在我尝试根据本教程使用MVC脚手架生成脚手架:

我遇到的问题是,我在MySQL服务器上执行此操作时,出现以下错误:

已存在与此连接关联的打开的DataReader 必须先关闭它

我环顾四周,发现有些人必须在他们的connectionstring中启用MARS(多个活动结果集),但MySQL显然没有这样的参数。我还尝试了AllowBatch=True,但也没有成功。这是我的连接字符串:

<add name="socialgeogroep6Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;server=localhost;AllowBatch=True;user id=socialgeogroep6;password=snow;database=socialgeogroep6&quot;" providerName="System.Data.EntityClient" />


以前有人遇到过这个问题吗?如果有,你是如何解决的?我真的很感激能得到的任何帮助

由于启用了延迟加载,我遇到了这个问题。您没有发布存储库代码,但我想知道此查询是否导致了问题:

public ViewResult Index()
{
    return View(cityRepository.AllIncluding(city => city.users, city => city.districts));
}
我使用
Include()
语句执行即时加载,以便在一个查询中获得一个或两个子实体。如果我们说在repo中有一个名为
All()
的函数,它返回一个
IQueryable
,我们可以这样做:

/。。。
var allCities=cityRepository.All().Include(“用户”).Include(“地区”).ToList();
返回视图(所有城市);
}
这将创建一个查询,同时选择所有
城市
及其
用户
地区
导航属性。
ToList()
将执行查询并返回一个
IEnumerable
,而不是
IQueryable
,一旦在消费代码中访问属性,它将通过延迟加载枚举


如果是另一个存储库函数导致了此问题,那么以类似的方式将
Include()
处理到该函数中应该很简单。

这可能有很多问题。第一个mysql只支持1个连接。第二个用户在尝试绑定IEnumberable list b/c时经常遇到问题,因为它使读卡器保持打开状态。请包括您的控制器和查看codeHi@DaveA,谢谢您的回复。我制作了代码的粘贴箱:Controller:View:(这一个是索引视图)生成的实体:我注意到,如果我转到例如cities/Detail/5,该页面确实工作。我也可以进入编辑页面。但另一个问题是,它不会将国家选项呈现为下拉列表,而只是为我提供数字输入(ID也是如此)。这不是MVC Scaffold的全部内容吗?从我找到的帖子中,我想说,将绑定类型改为LIST而不是IEnumerable将“关闭”阅读器。足球压倒了我的一天,但我会看看你们的代码,并检查为什么脚手架下拉失败tmrw。