C# 已经有一个与此命令关联的打开的DataReader,在Nopcommerce中必须首先关闭该命令
我正在从该服务获取产品映像,在版本3.8中获取此错误C# 已经有一个与此命令关联的打开的DataReader,在Nopcommerce中必须首先关闭该命令,c#,asp.net-mvc,nopcommerce,C#,Asp.net Mvc,Nopcommerce,我正在从该服务获取产品映像,在版本3.8中获取此错误 var defaultProductPicture=_pictureService.GetPicturesByProductId(productmodel.Id,1).FirstOrDefault(); productmodel.productImagUrl = _pictureService.GetPictureUrl(defaultProductPicture, 75, true); 我的GetPicturesByProductId服务
var defaultProductPicture=_pictureService.GetPicturesByProductId(productmodel.Id,1).FirstOrDefault();
productmodel.productImagUrl = _pictureService.GetPictureUrl(defaultProductPicture, 75, true);
我的GetPicturesByProductId服务是
public virtual IList<Picture> GetPicturesByProductId(int productId, int recordsToReturn = 0)
{
if (productId == 0)
return new List<Picture>();
var query = from p in _pictureRepository.Table
join pp in _productPictureRepository.Table on p.Id equals pp.PictureId
orderby pp.DisplayOrder
where pp.ProductId == productId
select p;
if (recordsToReturn > 0)
query = query.Take(recordsToReturn);
var pics = query.ToList();
return pics;
}
公共虚拟IList GetPicturesByProductId(int-productId,int-recordsToReturn=0)
{
if(productId==0)
返回新列表();
var query=来自_pictureRepository.Table中的p
将pp加入p.Id上的_productPictureRepository.Table等于pp.PictureId
orderby pp.DisplayOrder
其中pp.ProductId==ProductId
选择p;
如果(recordsToReturn>0)
query=query.Take(recordsToReturn);
var pics=query.ToList();
返回图片;
}
我不知道为什么GetPictureByProductId在更新的3.8版中会遇到这些错误。在3.7版中,一切正常。如果您在迭代另一个查询的结果时执行一个查询,则可能会发生这种情况 因此,只需将
MultipleActiveResultSets=True
添加到setting.txt
文件中的连接字符串中即可
希望这有帮助 你能在这里添加你的设置文件吗。您正在谈论的是setting.txtYes。
setting.txt
,其中包含连接字符串。DataProvider:sqlserver-DataConnectionString:Data-Source=。\SQLEXPRESS;初始目录=abcDB;综合安全=真实;Persist Security Info=false请在连接字符串中添加此MultipleActiveResultSets=True