در این پست از وبسایت پرووید در رابطه با آموزش ذخیره داده ها در بانک اطلاعاتی با Entity Framework Core #3 صحبت خواهیم کرد. تکنولوژی Entity Framework Core نسل بعدی Entity Framework است که توسط مایکروسافت معرفی شده است.

در قسمت قبلی از این آموزش در رابطه با بررسی Insert کردن داده ها در Entity Framework Core صحبت کردیم.

بررسی Update کردن داده ها

اگر از Entity Framework Core و روش Connected Scenario استفاده می کنید تمامی Entity هایی که توسط کلاس Context از بانک اطلاعاتی خوانده شده اند Track می شوند. بنابراین اگر داده های درون یک Entity تغییر کند Entity Framework Core مقدار EntityState را بر روی Modified تنظیم می ‌کند.

آموزش .NET Core برای برنامه نویسان ویندوز

از شما دعوت می کنیم که از بسته ی آموزش .NET Core برای برنامه نویسان ویندوز دیدن کنید.

این موضوع باعث می ‌شود که در زمان صدا زدن متد DbContext.SaveChanges دستور UPDATE مناسب ساخته شده و به سمت دیتابیس ارسال شود. لطفاً کد زیر را مشاهده کنید.

using (var context = new SchoolContext())
{
    var std = context.Students.First<Student>(); 
    std.FirstName = "Steve";
    context.SaveChanges();
}

در این کد ما اولین Student را از بانک اطلاعاتی با استفاده از دستور context.Students.First() می‌خوانیم و سپس پروپرتی FirstName آن را تغییر می ‌دهیم.

بسته ی آموزش شروع به کار با Entity Framework Core

از شما دعوت می کنیم که از بسته ی آموزش شروع به کار با Entity Framework Core دیدن کنید.

این موضوع باعث می‌ شود که پروپرتی EntityState مربوط به این Entity با مقدار Modified تنظیم شود. این موضوع به دلیل این است که این تغییر در Scope همان Context ای انجام شده است که با استفاده از آن Student خوانده شده است. بنابراین با صدا زدن متد DbContext.SaveChanges دستور مناسبی برای Update کردن مقدار فیلد FirstName از جدول Student در دیتابیس ساخته می شود. کد زیر دستور SQL مناسب ترجمه شده از دستور بالا را نشان می دهد.

exec sp_executesql N'SET NOCOUNT ON;
UPDATE [Students] SET [FirstName] = @p0
WHERE [StudentId] = @p1;
SELECT @@ROWCOUNT;
',N'@p1 int,@p0 nvarchar(4000)',@p1=1,@p0=N'Steve'
Go

دقت کنید که در دستور SQL تولید شده فقط فیلدی که تغییر کرده است یعنی همان FirstName لحاظ می شود. همانطور که دیدید پروپرتی EntityState از یک شی از کلاس Student تغییر کرد. در قسمت بعدی در رابطه با فرآیند Delete کردن داده ها در Entity Framework Core و با روش Connected Scenario صحبت می ‌کنیم.

در قسمت بعدی از این آموزش در رابطه با بررسی Delete کردن داده ها در Entity Framework Core صحبت خواهیم کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *