• 1397/12/22

خطای EntityState.Modified :

باسلام و عرض خسته نباشید.

شما در جلسه یازدهم (ویرایش شخص) جهت برطرف کردن خطای EntityState.Modified از کد زیر استفاده کردید:

()<var local = yourDbContext.Set<YourModel
                   Local.
                         ;(FirstOrDefault(f => f.Id == yourModel.Id.
(if (local != null
}
  ;yourDbContext.Entry(local).State = EntityState.Detached
{

سوال بنده این هست که چرا در تعریف local از این روش استفاده شده؟ چرا مانند قبل از روش:

;(var local = db.Customers.FirstOrDefault(f => f.CustomerID == customer.CustomerID

یا حتی ساده تر:

;(var local=db.Customers.find(customer.CustomerID

استفاده نشده؟

با تشکر.

  • 1397/12/22
  • ساعت 16:14

سلام 

چون رکورد توسط Change Tracker در حال استفاده بود و نمیزاشت تغییر کنه برای همین Detached کردیم تا آزاد بشه 


  • 1397/12/22
  • ساعت 16:36

بله این قسمت رو متوجه هستم. سوالم این بود که چرا متغیر local به این شیوه مقدار دهی شد و از set. و Local. استفاده کردید؟ نمشید با روش  (db.customers.find(id اون رو مقدار دهی کنیم؟ (همونطور که در سوالم مطرح کردم)


  • 1397/12/22
  • ساعت 16:39

در واقع چک کردیم اگر داخل dbset بود اون رو detach کردیم 

دستورش کاملا مشخصه


  • 1397/12/22
  • ساعت 16:43

ممنونم از پاسخگویی سریعتون.


logo-enamadlogo-samandehi