Как вы уже знаете, Entity Framework — это платформа ORM, которая используется для операций CRUD в приложениях ASP, NET.
Сегодня мы разберемся с очень распространенной ошибкой почти всех разработчиков.
Сначала мы обсудим проблему, с которой мы сталкиваемся, а затем покажем вам ее решение, давайте начнем с первой проблемы.
Внешнее обновление базы данных не отражается на уже работающем приложении :- Таким образом, проблема заключается в том, что мы извлекаем какие-либо данные из базы данных после того, как внешнее приложение обновило данные. в базе данных. Entity Framework не будет предоставлять последние данные. А если перезапустить приложение то только оно и отразится. Итак, давайте посмотрим на пример ниже.
Пример:-
Итак, в приведенном выше примере мы создали основной рабочий процесс asp.net, который имеет объект count, который будет после каждого выполнения. Если значение объекта счетчика равно 0, то он вставит одну строку в таблицу учеников. И если значение счетчика не равно 0, оно извлечет данные и напечатает имя ученика. После запуска мы обновим таблицу с сервера MSSQL и подождем некоторое время, печатает ли он имя студента обновления или нет.
Выход:-
После запуска приложения была вставлена одна строка, как показано ниже на снимке экрана.
Приложение все еще работает, и теперь мы изменили имя учащегося с Вишал Патхак на просто Вишал.
Но в приведенном ниже выводе видно, что приложение по-прежнему печатает то же имя, что и Vishal Pathak.
Поэтому, чтобы избежать этой проблемы, у нас есть один метод в Entity Framework, который называется AsNoTracking. У нас уже есть статья для метода AsNoTracking ниже.
Чтобы решить эту проблему, мы обновили приведенный выше код. Итак, здесь мы просто добавляем метод AsNoTracking.
Как видите, в строке номер 42 мы добавили метод AsNoTracking. Теперь мы снова запустим приложение. Мы выполнили те же шаги, и теперь приложение начало печатать значение сразу после обновления значения.
Как вы можете видеть, в приведенном выше выводе система начала печатать обновленное имя, как только мы изменили его в базе данных.
Спасибо, что прочитали, комментируйте свои предложения, делитесь статьей, следите за мной и публикацией Abhima C# Programming.
Стих дня из Бхагавад-гиты
सर्वत: पाणिपादं तत्सर्वतोऽक्षिशिरोमुखम् |
सर्वत: श्रुतिमल्लोके सर्वमावृत्य तिष्ठति || 14||
сарватах пани-падам тат сарвато 'кши-широ-мукхам
сарватах шрутимал локе сарвам авритйа тиштхати
BG 13.14: Везде Его руки и ноги, глаза, головы и лица. Его уши также повсюду, ибо Он пронизывает все во вселенной.