Трудно сказать по предоставленному вами коду, но наиболее вероятный виновник в том, что вы не материализуете набор результатов, пока контекст не выйдет из области видимости.Опять же, мы не можем увидеть весь код, но это происходит, когда вы делаете такие вещи, как возврат IQueryable
напрямую.Любой тип сервисного вызова должен возвращать материализованный список (т. Е. Вызвать ToList()
или ToListAsync()
в наборе результатов перед возвратом).Это также может быть вызвано отложенной загрузкой, если вы включили эту функцию.Если это так, вам следует убедиться, что все необходимые отношения загружены с нетерпением.
Также странно, что вы обновляете свой сервис с введенным контекстом.Вы должны просто внедрить свой сервис, и, поскольку он зависит от вашего контекста, конструктор будет автоматически внедрен в него.Это гарантирует, что оба объекта работают в одном или, по крайней мере, совместимом времени жизни.
Кроме того, не используйте IDisposable
с внедренными зависимостями.Мы ничего не можем рассказать о вашем классе обслуживания, но если он реализует IDisposable
, удалите его.