主要原因是因为EF采用的 DataReader来进行数据的存储,此时connection使用的是同一个。
例如: list = _tzNewsService.GetAll().Where(w => w.EditorId == AdminId || (w.CheckStatus == 3&&_administratorService.GetById(w.EditorId).OrganizeId==currentadmin.OrganizeId)).OrderByDescending(w => w.PubDate).ToList();
涉及tznews查询覆盖条件中带了administrator的查询。
解决方案:
在数据库连接字符串中添加MultipleActiveResultSets=true即可,示例如下:
server=.;Integrated Security = true;database=Test;MultipleActiveResultSets=true;