سلام
من در Repository متد ها رو با async نوشتم .
برای متدهای Delete و Update نمیشه مثل SaveChangeAsync نوشت UpdateAsunc یا Delete Async نداریم
یه جا خوندم که گفته بود این متدها زمانی که SaveChangeAsync بزنی اجرا اجرا میشن و به سمت Sql فرستاده میشن . درسته ؟
خب چرا برای Add متد AddAsync وجود داره ؟ با اجرای AddAsync دستور اجرا میشه یا نه تا SaveChangeAsync نزنی اجرا نمیشه ؟
متد AddAsync درون خود متد های دیگه ای فراخوانی میکنه که Async هستند اما آن متد ها دورن متد های Update یا Remove وجود ندارند. (علتش را باید تیم EF بپرسید)
شما میتوانید از SaveChangeAsync هم در متد های مثل Update که Async نیستند استفاده کنید. تنها کافی است خروجی متد شما Task باشد.
راجب سوال آخرتونم بگم که شما باید بدونید EF چطوری کار میکنه. ef با متد های Add , Update, Remove وضعیت اون Entity رو مشخص میکنه و وقتی که شما SaveChange را فراخوانی میکنید ef از طریق ChangeTracker اون هارو پیدا میکنه و تغییرات هرکدام را روی بانک اجرا میکنه.
ممنون
ولی یه چیزی رو نگرفتم
الان AddAsync به تنهایی Save هم انجام میده یا باید متد Save رو هم صدا زد ؟
خیر باید SaveChange انجام بدید.
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)