Я использую UoW, поэтому я думаю, проблема в том, что два запроса имеют один и тот же контекст.Два разных запроса к другому объекту, тот же результат
, например, если я:
IEnumerable listProjects = ((IQueryableUnitOfWork)UnitOfWork)
.CreateSet<Project>().Include(p=>p.Users).AsEnumerable();
, а затем я:
IEnumerable listProjectsWithoutIncludes = ((IQueryableUnitOfWork)UnitOfWork)
.CreateSet<Project>().AsEnumerable();
В объекте listProjectsWithoutIncludes пользователи проекта хранятся, как если бы я сделал запрос с включает.
Кто-нибудь знает, как предотвратить это? Благодарю.
Если это то же самое подразделение, то это работает как ожидалось. Если вы хотите, чтобы они были изолированы, вы бы использовали другую единицу работы? Вся концепция UoW заключается в том, что вы группируете действия вместе, чтобы сформировать единицу работы. Если это отдельные элементы, которые НЕ ДОЛЖНЫ взаимодействовать, то они не являются частью единицы работы? – Belogix
Спасибо, Belogix, я не знал, что Unit Of Work работает именно так. –