مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

مهدی الهی

عضویت از 1396/07/29

async برای متدهای Ef Core

  • یکشنبه 18 آذر 1397
  • 10:01
تشکر میکنم

سلام 
من در Repository متد ها رو با async  نوشتم .
برای متدهای Delete و Update نمیشه مثل SaveChangeAsync نوشت UpdateAsunc یا Delete Async نداریم 
یه جا خوندم که گفته بود این متدها زمانی که SaveChangeAsync  بزنی اجرا اجرا میشن و به سمت Sql فرستاده میشن . درسته ؟

خب چرا برای Add متد AddAsync وجود داره ؟ با اجرای AddAsync دستور اجرا میشه یا نه تا SaveChangeAsync   نزنی اجرا نمیشه ؟

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • یکشنبه 18 آذر 1397
  • 11:20

متد AddAsync درون خود متد های دیگه ای فراخوانی میکنه که Async هستند اما ​آن متد ها دورن متد های Update یا Remove وجود ندارند. (علتش را باید تیم EF بپرسید)

شما میتوانید از SaveChangeAsync هم در متد های مثل Update که Async نیستند استفاده کنید. تنها کافی است خروجی متد شما Task باشد.

راجب سوال آخرتونم بگم که شما باید بدونید EF چطوری کار میکنه. ef با متد های Add , Update, Remove وضعیت اون Entity رو مشخص میکنه و وقتی که شما SaveChange را فراخوانی میکنید ef از طریق ChangeTracker اون هارو پیدا میکنه و تغییرات هرکدام را روی بانک اجرا میکنه.

کاربر سایت

مهدی الهی

عضویت از 1396/07/29

  • یکشنبه 18 آذر 1397
  • 22:31

ممنون 
ولی یه چیزی رو نگرفتم 
الان AddAsync به تنهایی Save هم انجام میده یا باید متد Save رو هم صدا زد ؟

کاربر سایت

سهیل علیزاده

عضویت از 1396/04/09

  • دوشنبه 19 آذر 1397
  • 08:26

خیر باید SaveChange انجام بدید.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)