Add() در مقابل AddAsync()
هر دو موجودیت را به DbContext اضافه میکنند اما AddAsync فقط در شرایط خاص واقعاً Async است.
| ویژگی | Add() | AddAsync() |
|---|---|---|
| Async | خیر | بله |
| رایج بودن | بسیار زیاد | کم |
| نیاز به await | خیر | بله |
| Performance | تقریباً یکسان | تقریباً یکسان |
| مناسب برای | اکثر پروژهها | Value Generator Async |
کِی از Add() استفاده کنیم؟
تقریباً همیشه.
کِی از AddAsync() استفاده کنیم؟
وقتی Provider برای تولید کلید نیاز به عملیات Async داشته باشد (مانند برخی Value Generatorها).
مثال Add()
context.Users.Add(user);
مثال AddAsync()
await context.Users.AddAsync(user);
اشتباه رایج
تصور اینکه AddAsync باعث سریعتر شدن SaveChanges میشود.
جمعبندی
در اکثر پروژههای EF Core، Add کافی است.
