CodeShot
CRUD1 دقیقه مطالعه

عملیات CRUD در EF Core چطور انجام می‌شود؟

چهار عملیات پایه Create/Read/Update/Delete روی داده، با استفاده از DbContext و Change Tracking خودکار EF Core.

چرا مهم است؟

تقریباً هر برنامه‌ای در هسته‌اش یک سری عملیات CRUD دارد؛ EF Core این عملیات را بدون نوشتن SQL دستی، با کد C# ساده و Type-Safe انجام می‌دهد.

مثال کامل CRUD

// Create
var product = new Product { Name = "Laptop", Price = 25000000 };
context.Products.Add(product);
await context.SaveChangesAsync();

// Read
var product = await context.Products.FindAsync(id);
var expensive = await context.Products.Where(p => p.Price > 1000000).ToListAsync();

// Update
product.Price = 23000000;
await context.SaveChangesAsync(); // EF تغییر را از طریق Change Tracker تشخیص می‌دهد

// Delete
context.Products.Remove(product);
await context.SaveChangesAsync();

نکته کلیدی: Change Tracking

وقتی یک Entity را با Find/ToListAsync می‌خوانید، EF Core به‌صورت خودکار وضعیتش را رصد می‌کند؛ برای Update فقط کافی است مقدار Property را عوض کنید، نیازی به فراخوانی صریح «Update» نیست.

اشتباه رایج

❌ فراخوانی SaveChangesAsync() را فراموش کردن بعد از Add/Remove — بدون آن، هیچ تغییری واقعاً به دیتابیس نوشته نمی‌شود؛ عملیات فقط در حافظه (Change Tracker) باقی می‌ماند.

منبع و مطالعه بیشتر

خلاصه

CRUD در EF Core با DbContext و Change Tracking خودکار انجام می‌شود؛ برای Update فقط کافی است مقدار Property را تغییر دهید. همیشه بعد از Add/Remove/تغییر، SaveChangesAsync را فراخوانی کنید. مرجع کامل: مستندات CRUD در EF Core، Microsoft Learn.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←