Как вы уже знаете, 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: Везде Его руки и ноги, глаза, головы и лица. Его уши также повсюду, ибо Он пронизывает все во вселенной.