Както вече знаете, че Entity Framework е ORM рамка, която се използва за CRUD операции в ASP, NET приложения.

Днес ще разберем много често срещаната грешка, допускана от почти всички програмисти.

Първо ще обсъдим проблема, пред който сме изправени и след това ще ви покажем решението за него, нека започнем с първия проблем.

Външната актуализация на базата данни не се отразява във вече работещото приложение :- Така че проблемът тук е, ако извличаме данни от базата данни, след като външно приложение е актуализирало данните в базата данни. Entity Framework няма да предостави най-новите данни. И ако рестартирате приложението тогава само то ще се отрази. Така че нека видим примера по-долу.

Пример:-

Така че в горния пример създадохме основен работен процес на asp.net, който има обект за броене, който ще бъде след всяко изпълнение. Ако стойността на обекта за броене е 0, тогава той ще вмъкне един ред в таблицата на учениците. И ако стойността на броя не е 0, тогава ще извлече данните и ще отпечата името на ученика. След като изпълним това, ние ще актуализираме таблицата от MSSQL сървъра и ще изчакаме известно време, ако отпечатва актуализираното име на студент или не.

Изход: -

След стартиране на приложението един ред беше вмъкнат, както е показано по-долу в екранната снимка.

Приложението все още работи и сега променихме името на ученика от Вишал Патаксамо на Вишал.

Но в изхода по-долу се вижда, че приложението все още отпечатва същото име като Vishal Pathak.

Така че, за да избегнем този проблем, имаме един метод в Entity Framework, наречен AsNoTracking. Вече имаме статия за метода AsNoTracking по-долу.



За да разрешим този проблем, актуализирахме горния код. Така че тук просто добавяме метод AsNoTracking.

Както можете да видите на ред номер 42, добавихме метод AsNoTracking. Сега ще стартираме приложението отново. Следвахме същите стъпки и сега приложението започна да отпечатва стойността веднага след актуализирането на стойността.

Както можете да видите, че в горния изход системата започна да отпечатва актуализираното име веднага щом го променихме в базата данни.

Благодаря ви, че прочетохте, моля, коментирайте вашите предложения, споделете статията, следвайте ме и публикацията за програмиране на Abhima C#.

Бхагавад Гита Стих на деня

सर्वत: पाणिपादं तत्सर्वतोऽक्षिशिरोमुखम् |
सर्वत: श्रुतिमल्लोके सर्वमावृत्य तिष्ठति || 14||

sarvataḥ pāṇi-pādaṁ tat sarvato ’kṣhi-śhiro-mukham
sarvataḥ śhrutimal loke sarvam āvṛitya tishṭhati

BG 13.14: Навсякъде са Неговите ръце и крака, очи, глави и лица. Ушите му също са навсякъде, защото Той прониква във всичко във вселената.