LINQ Join 抛出错误 "There is already an open DataReader associated with this Command which must be closed first"

LINQ Join Throws An Error Saying "There is already an open DataReader associated with this Command which must be closed first"

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

There is already an open DataReader associated with this Command which must be closed first

下面是我的加入

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 字符串的末尾,然后重试。

See here for details