a

برای بازیابی اطلاعات با Entity Framework از AsNoTracking استفاده کنید(مشکلات NET. :بخش بیست و یکم)

صفحه اصلی / ABLY مقالات و مطالب مجموعه / برای بازیابی اطلاعات با Entity Framework از AsNoTracking استفاده کنید(مشکلات NET. :بخش بیست و یکم)
برای بازیابی اطلاعات با Entity Framework از AsNoTracking استفاده کنید(مشکلات NET. :بخش بیست و یکم)

برای بازیابی اطلاعات با Entity Framework از AsNoTracking استفاده کنید(مشکلات NET. :بخش بیست و یکم)

هنگام بازیابی اطلاعات با Entity Framework از AsNoTracking استفاده کنید

microsoft net problem

حل مشکلات دات نت | آموزش برنامه نویسی

متد AsNoTracking چیست؟

  • درصورتیکه ما تغییراتی روی داده‌ها نداشته باشیم و یا از روش‌های غیر متصل از موجودیت‌ها استفاده کنیم با استفاده از متد AsNoTracking() در زمان و حافظه سیستم صرف جویی می‌کنیم در این حالت موجودیت‌های فراخوانی شده از دیتابیس در سیستم ردگیری DbContext قرار نمی‌گیرند و  اگر  وضعیت آنها را بررسی کنیم در وضعیت Detached قرار دارند.

در بسیاری از موارد، داده های بازیابی شده توسط Entity Framework در محدوده DBContext اصلاح نمی شود.ASP.NET MVC یا ASP.NET MVC API از این نمونه ها هستند.

با این حال، اگر از راه پیش فرض بازیابی اطلاعات استفاده می کنید، Entity Framework همه چیز را آماده می کند تا قادر به شناسایی تغییرات موجودات بازیابی شده خود باشد تا این تغییرات را در پایگاه داده ادامه دهند. این کار عملکرد را بالا برده و در مصرف حافظه صرفه جویی می کند.

کد زیر یک روش معمولی برای بازیابی داده ها است:


var products = db.Products.Where(p => p.InStock).ToList();

روش بهتراین است که از AsNoTracking متد System.Data.Entity Namespace استفاده کنید:


var products = db.Products.Where(p => p.InStock). AsNoTracking().ToList();

52 مشکل رایج در NET.

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس