Я обновил приложение ASP.NET от NpgSQL 2.2.5 до 3.0.1. В изменениях прерывания указано, что они удалили Preload Reader. Поэтому я удаляю его из строкового соединения. Тестирование моего веб-приложения, я получил сообщение об ошибке «Операция уже выполняется». специально в Linq запрос так:Обновление приложения Asp.net для Npgsql 3 и удаление Preload Reader
var plugins =
from p in _pluginRepository.GetPlugins() // this method return this: GetAll().OrderBy(p => p.Created)
join e in _userPluginRepository.GetByUserId(user.Id).ToList() on p.Id equals e.Plugin.Id into pe
from e in pe.DefaultIfEmpty()
select new PluginViewModel
{
Active = e != null,
Name = p.Translations.ToUserLanguage(loggedInUser),
Key = p.Key,
PluginId = p.Id,
SettingId = e == null ? 0 : e.Id,
ExpireDate = e != null && e.ExpireDate.HasValue ? e.ExpireDate.Value : (DateTime?) null,
Grants = e == null ? UserPluginGrants.None.GetHashCode().ToString() : e.Grants.GetHashCode().ToString()
};
Чтобы решить эту ошибку, я должен присоединять ToList после GetPlugins метода. Это правильное поведение для использования без Preload Reader? Зачем?