در این نوشته می خواهیم درباره نصب و استفاده از Entity Framework بگوییم.در نوشته شروع به نوشتن رویکرد Code First از دوره Entity Framework درباره چگونگی نصب Entity Framework 6 توسط NuGet گفته ایم. قاعدتا نیاز است NET Core 3 از پیش نصب شده باشد. در این دوره من ASP.NET Core MVC 3 و Entity Framework Core 3 را به کار می برم. در کنار نصب Net Core 3 باید Net Core SDK 3 را نیز نصب کرده باشید، زیرا دستور dotnet ef از طریق آن نصب می شود.

نصب Entity Framework

بنابراین در آغاز باید از اینجا NET Core SDK را برای سیستم عامل خود دانلود و سپس نصب کنید. پس از آن به زیر پوشه پروژه بروید و یک به یک بسته های زیر را نصب کنید. شما می توانید در محیط Visual Studio و رابط گرافیکی NuGet Packages هر یک از بسته های زیر را دانلود کنید ولی من در اینجا دستور botnet را به کار می برم.

بسته Microsoft.EntityFrameworkCore

نخستین بسته ای که باید با دستور زیر نصب کنیم، Microsoft.EntityFrameworkCore نام دارد که در زمان نوشتن این مطلب نسخه ۳.۱.۱ آن در دسترس است. این بسته شامل کلاس هایی مانند DbContext و DbSet است که درباره آنها در دوره Entity Framework گفته ایم. همچنین می توانید درباره بسته و کپی کردن فرمان این لینک بروید. این بسته پایه است و حتما باید نصب شود بدون اینکه بخواهیم کدام پایگاه داده را به کار ببریم.

استفاده از Entity Framework Core برای SQL Server

برای استفاده از SQL Server باید بسته های ویژه ای را نصب کنید که در زیر فهرست شده اند.

بسته Microsoft.EntityFrameworkCore.SqlServer

اگر می خواهید SQL Server را برای پایگاه داده به کار ببرید، باید بسته زیر را نصب کنید. در حال حاظر نسخه ۳.۱.۱ از این بسته در دسترس است که می توانید از اینجا درباره آن بخوانید یا دستور را کپی کنید.

بسته Microsoft.EntityFrameworkCore.SqlServer.Design

برای استفاده از SqlServer در کنار بسته بالا، باید بسته دیگری به نام Microsoft.EntityFrameworkCore.SqlServer.Design را نیز نصب کنید. از این لینک می توانید درباره آن بخوانید و همچنین دستور را کپی کنید. در زمان نوشتن این نوشته نسخه ۲.۰.۰ آن در دسترس است.

استفاده از Entity Framework Core برای MySQL

برای استفاده از MySQL باید بسته های ویژه ای را نصب کنید که در زیر فهرست شده اند.

بسته Pomelo.EntityFrameworkCore.MySql

اگر می خواهید MySQL را برای پایگاه داده به کار ببرید، باید بسته زیر را نصب کنید. در حال حاظر نسخه ۳.۱.۱ از این بسته در دسترس است که می توانید از اینجا درباره آن بخوانید یا دستور را کپی کنید. توجه کنید این بسته خارج از تیم مایکروسافت توسعه داده می شود.

بسته Microsoft.EntityFrameworkCore.Design

برای استفاده از SqlServer در کنار بسته بالا، باید بسته دیگری به نام Microsoft.EntityFrameworkCore.Design را نیز نصب کنید. از این لینک می توانید درباره آن بخوانید و همچنین دستور را کپی کنید. در زمان نوشتن این نوشته نسخه ۳.۱.۱ آن در دسترس است. توجه کنید این بسته توسط مایکروسافت توسعه داده می شود.

دستور dotnet ef

پس از آنکه یسته NET Core SDK را نصب کردید می توانید دستور dotnet ef را اجرا کنید. از طریق این دستور است که عملیات مهاجرت یا Migration از کدهای سی شارپ به جدول های پایگاه داده را انجام می دهیم. برای اینکه با گزینه های این دستور آشنا شوید، باید مطابق شکل زیر دستور dotnet ef –help را اجرا کنید.

بر پایه شکل بالا سه زیر دستور به نام های database و dbcontext و migration برای dotnet ef هست. زیر دستور migration برای مهاجرت دادن کدهای سی شارپ یا همان کلاس های مدل به جدول های پایگاه داده است. در نوشته بعدی درباره ساخت کلاس مدل و نگاشت آن به جدول پایگاه داده خواهیم گفت. 

بدون آنکه بخواهیم در این نوشته با جزییات درباره dotnet ef صحبت کنیم می توانیم تنها دو دستور زیر را بیان کنیم. برای نگاشت میان کدهای سی شارپ به جدول های پایگاه داده، نخست نیاز است تا یک Migration انجام دهیم و سپس این Migration را به پایگاه داده اعمال کنیم. در میان دو دستور زیر، نخستین دستور زیر به ترتیب نخستین Migration را می سازد. همانگونه که می بینید پایان دستور عبارت InitialCreate نوشته شده است و پیش از آن دستور add آمده است. توجه کنید دستور اول مربوط به dotnet ef migration است. دومین دستور که مربوط به database است، Migration ساخته شده با دستور پیشین را به پایگاه داده اعمال می کند. در نوشته بعدی خواهید دید که نخست یک کلاس  مدل خواهیم ساخت و سپس نخستین دستور زیر را انجام می دهیم تا Migration ساخته شود و سپس دومین دستور برای اعمال مهاجرت به پایگاه داده و ساخت جدول را اجرا می کنیم.