CodeShot

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 کافی است.