[英]There is already an open DataReader associated with this Command
我是链接和实体框架的新手。 显然,其他人有我有同样的问题,有问题的优秀解释在这里 ,所有有意义的理论。 但是,我似乎无法获得正确的语法来解决我的问题,也无法充分理解它来决定什么是最佳选择。 令人反感的代码是:
public void ClearAllFilesFromUser(Guid userID)
{
using (DBEntities db= new DBEntities())
{
var filez = (from p in db.Files select p);
aspnet_Users user = (from p in db.aspnet_Users
where p.UserId == userID
select p).First();
foreach (var file in filez)
{
if (file.aspnet_Users.Contains(user))
{
file.aspnet_Users.Remove(user);
}
}
db.SaveChanges();
}
}
该代码在if (file.aspnet_Users.Contains(user))
处产生错误。 我正在尝试从特定用户的数据库联结表中删除所有条目。 不知道需要什么其他信息。 请提前告知并感谢。
您需要添加MultipleActiveResultSets=true;
到您的连接字符串。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Elazig-20140311114227;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Elazig-20140311114227.mdf;MultipleActiveResultSets=true;" providerName="System.Data.SqlClient" />
</connectionStrings>
这样的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.