C# 已经有一个与此命令关联的打开的DataReader,在Nopcommerce中必须首先关闭该命令

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服务

我正在从该服务获取产品映像,在版本3.8中获取此错误

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