LINQ 联接引发错误,指出"There is already an open DataReader associated with this Command which must be closed



我有一个Linq联接,并使用该联接填充了视图模型。运行时,该连接上有一个错误,说

已经有一个与此命令关联的打开的 DataReader

,必须先关闭

以下是我的加入

public List<GallerySisterComanyVM> GetAllGallery()
{
var list = (from GI in uow.Repository<GalleryImage>().GetAll()
join SC in uow.Repository<SisterCompany>().GetAll() on GI.SisterCompanyId equals SC.SisterCompanyId
select new GallerySisterComanyVM
{
GalleryImageId=GI.GalleryImageId,
Status=GI.Status,
Image=GI.Image,
SisterCompanyName=SC.SisterCompanyName
}).OrderByDescending(x=>x.GalleryImageId).ToList();
return list;
}

检查 web.config 或 .json 机密配置文件中用于启动上下文的 SQL 连接字符串,并查找"MultipleActiveResultSets=True"位。

如果这不存在,请尝试将其添加到 SQL 字符串的末尾,然后重试。

详情请看这里

假设这是由于调用第二个存储库查询时第一个存储库查询仍在运行。 如何直接查询上下文而不是存储库,或者在存储库中创建联接查询作为单独的方法?

相关内容

最新更新