温馨提示:本文翻译自stackoverflow.com,查看原文请点击:c# - LINQ Join Throws An Error Saying "There is already an open DataReader associated with this Command w
asp.net-core-2.0 c#

c# - LINQ Join引发错误,指出“此命令w已存在一个打开的DataReader。

发布于 2020-04-18 12:05:57

我有一个Linq连接,并使用该连接填充了viewmodel。在运行时,该连接说有一个错误

已经有与此命令关联的打开的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;
}

查看更多

提问者
Alfa Group
被浏览
10
Tom Ruyter 2020-02-04 22:48

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

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

详情请看这里