C# Entity framework не дает правильные данные в дочернем процессе

введите сюда описание изображения

В отладочной информации видно что данные одинаковые, хотя у админа и пользователя токены разные в базе данных. Я сначала ищу токен в базе данных по id, затем у пользователя ищу по id диалога его токен. Проблема в том что я не могу получить действительные данные с базы данных для UserModel


Ответы (1 шт):

Автор решения: Иван Рудаков

Решение проблемы с выдачей не верных, как выяснилось старых данных через контекст Entinty. введите сюда описание изображения

Я использовал контекст передавая его везде через конструктор, ставил lock где нужно для блокировки потоков, это работало в главном - 1 процессе. Но у меня мультипроцессорная программа, и при данном подходе в других процессах я считывал старый не обновленный контекст. В моем ситуации мне помогла следующее.

using(var context = new DataContext()
{
var user = context.Users.FirstOrDefault(x => x.UserId == ID);
}

Создаем новый контекст и получаем актуальные данные
→ Ссылка