ساخت دیتابیس و جداول آن با روش CodeFirst در EF Core

طراحی سایت

..ساخت دیتابیس و جداول آن با روش CodeFirst در EF Core..
ساخت دیتابیس و جداول آن با روش CodeFirst در EF Core
طراحی سایت

ساخت دیتابیس و جداول آن با روش CodeFirst در EF Core

در روش کدفرست چگونه یک Database ایجاد کنم ؟ در روش  Code First چگونه یک جدول به دیتابیس اضافه کنم ؟

درود ، من آرزو ابراهیمی مدرس دوره اموزش فارسی asp.net core ، با یک مقاله‌ی آموزشی بسیار مفید و کاربردی از فصل اموزش Entity Framework Core در خدمت شما دوستان عزیز هستم.

پیش از شروع مطالعه‌ی این مقاله اگر با روش Code Fiest در Entity Framework Core آشنایی ندارید پیشنهاد میکنم مقاله ی روش Code First چیست را مطالعه بفرمایید.

سرفصل‌های پست

ساخت Database و جداول آن در SQL Server با روش Code First در Entity Framework Core

در این مقاله آموزشی میخواهم به صورت گام گام ،ساخت دیتابیس در اسکیوال سرور به روش کدفرست را آموزش دهم پس مراحل زیر را به دقت انجام دهید تا در انتهای این مقاله آموزشی بتوانید به روش Code First یک دیتابیس که شامل یک جدول است در SQL Server ایجاد نمایید.

گام اول : ساخت یک پروژه جدید در ویژوال استودیو

یک پروژه ASP.NET Core ایجاد کنید اگر می‌خواهید یک پروژه با استفاده از الگوی Web Application (Model – View – Controller) ایجاد کنید پیشنهاد می‌کنم مقاله ساخت پروژه در asp core را مطالعه نمایید.

من می‌خواهم یک پروژه با الگوی Empty ایجاد کنیم تا این پروژه شامل موارد اضافه ای که به آنها در این فصل آموزشی نیاز ندارم ، نباشد ، خب پس یک پروژه از نوع الگوی Empty بسازید و برای آن یک نام انتخاب کنید (من نام پروژه خودم را EFCore-C05 قرار دادم اما شما هر نام دلخواهی می‌توانید برای این پروژه قرار دهید)

ایجاد پروژه ASP.NET Core بر اساس الگوی Emptyایجاد پروژه ASP.NET Core بر اساس الگوی Empty
asp.net core project with empty template

گام دوم : نصب پکیج های لازم EF Core

حالا باید پکیج های مورد نیاز Entity Framework Core را نصب کنید ، پیشنهاد میکنم مقاله افزودن EF Core به پروژه را مطالعه نمایید و پکیج‌های ذکر شده در این مقاله‌ی آموزشی را نصب کنید.

گام سوم : مشخص کردن موجودیت ها و تعریف Domian Class ها و پیکربندی آن ها

حالا می‌خواهیم یک Domain Class تعریف کنیم ، فرض کنید که می‌خواهیم یک سامانه‌ی تحت وب پیاده سازی کنیم تا دانشجویان یک دانشگاه ، بتوانند اطلاعات خود را در این سامانه ثبت کنند، پس این سامانه باید این اطلاعات را در یک دیتابیس ذخیره کند . خب به نظرتون پروژه‌ی کوچکی که تعریف کردیم شامل چه موجودیت هایی است؟
بله درست حدس زدید موجودیت یا Entity ما ، دانشجو هست. در روش Code First برای هر موجودیت یک Domain Class تعریف می کنیم پس داخل پروژه یک پوشه به نام Models ایجاد کنید و داخل این پوشه یک کلاس به نام Student برای موجودیت دانشجو بسازید برای این منطور روی پوشه Models راست کلیک کرده سپس گزینه  Add و بعد از آن گزینه Class را از منویی که باز می شود انتخاب کنید.افزودن domain class به پروژه asp.net core

افزودن domain class به پروژه asp.net core

سپس در پنجره New Item یک نام برای کلاس انتخاب کرده (من نام این کلاس را Student قرار میدهم) و روی Add کلیک کنید تا این کلاس برای شما ساخته شود. (همانند تصویر زیر)

قراردادن نام برای کلاس در پروژه asp.net coreقراردادن نام برای کلاس در پروژه asp.net core
add name for class in asp.net core

هر موجودیت یکسری ویژگی یا صفات دارد مثلا از جمله ویژگی های یک دانشجو می توان به شماره دانشجویی ، نام ، نام خانوادگی ، تاریخ تولد و … اشاره کرد حالا در کلاس Student برای هر ویژگی یا صفت دانشجو یک Property تعریف کنیم. به صورت زیر :

public class Student { public string StudentId { get; set; } public string Name { get; set; } public string Family { get; set; } public DateTime BirthData { get; set; } } 

نکته : برای کدنویسی سریع تر می توانید برای تعریف Property عبارت prop را نوشته و دوبار دکمه tab صفحه کلید را فشار دهید.

خب تبریک میگم شما یک Domain Class برای موجودیت دانشجو ایجاد کردید و حالا در روش Code First این کلاس به یک جدول به نام Students تبدیل می‌شود و پراپرتی های این کلاس هم ستون‌های این جدول را تشکیل می‌دهند.

گام چهارم : تعریف کلاس Context

حالا باید یک کلاس Context برای پروژه ایجاد کنیم برای این منظور روی پوشه Models راست کلیک کرده سپس Add و بعد از آن گزینه‌ی Class را انتخاب کنید حالا برای کلاس Context یک نام قرار دهید من نام این کلاس را StudentDBContext قرار میدهم. (شما هر نام دلخواهی که میخواهید می توانید برای این کلاس قرار دهید اما بهتره که نام کلاس به واژه Context ختم شود)

نکته : کلاس Context پروژه کلاسی هست که از کلاس DbContext ارث بری می‌کند پس برای ارث بری این کلاس از DbContext بعد از نام کلاس از علامت : استفاده کرده و سپس نام کلاس DbContext را می‌نویسیم به صورت زیر :

public class StudentDBContext : DbContext { public StudentDBContext(DbContextOptions options) : base(options) { } public virtual DbSet Students { set; get; } } 

حالا باید سازنده کلاس والد را هم صدا بزنیم و پارامترهای موردنیاز این سازنده را به آن پاس دهیم ، برای این منظور در کد بالا یک Constructor یا سازنده برای کلاس StudentDBContext تعریف کردیم.

گام چهارم : تنظیم Connection String یا رشته اتصال در فایل appsettings.json

حالا به سراغ فایل appsettings.json می‌رویم تا connectionString یا رشته اتصال به دیتابیس را تعریف کنید ، کدهای زیر را در فایل appsettings.json خواهد دید :

{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" } 

کد زیر را به فایل appsettings.json اضافه کنید ، همانطور که در کد زیر مشاهده می‌کنید من نام sqlserver را برای این کانکشن استرینگ قرار دادم ولی شما می‌توانید یک نام دلخواه برای آن قرار دهید.

 "ConnectionStrings": { "SqlServer": "Data Source=(local);Initial Catalog=StudentDB;Integrated Security=true" }, 

در کد بالا رشته اتصال را تعریف کردیم ، (دقت کنید که حتما باید SQL Server روی سیستم شما نصب شده باشد) ، مقدار Data Source را (local) یا . قرار دهید تا برنامه به اسکیوال سرور روی سیستم شما متصل شود سپس مقدار Initial Catalog را برابر نام دیتابیسی قرار دهید که میخواهید برای شما در اسکیوال سرور ایجاد شود.

محتویات فایل appsettings.json به صورت زیر خواهد بود :

{ "ConnectionStrings": { "SqlServer": "Data Source=(local);Initial Catalog=StudentDB;Integrated Security=true" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" } 

گام پنجم : اضافه کردن migration

حالا پنجره Package Manager Console را باز کنید معمولا این پنجره در بخش پایین ویژوال استدیو برای شما باز می شود و برای اضافه کردن یک migration جدید ، دستور add-migration را بنویسید و بعد از این دستور یک نام برای migartion قرار دهید من نام ماگریشن را GenerateDB قرار میدهم ولی شما هر نام دلخواهی می‌توانید برای آن قرار دهید طبق تصویر به صورت زیر :

افزودن migration به پروژه asp.net coreافزودن migration به پروژه asp.net core
add migration in asp.net core

بعد از وارد کردن دستور add-migration یک پوشه به نام migrations به Solution Explorer اضافه می‌شود که شامل فایل های مربوط به migration است.

پوشه migrations در Solution Explorerپوشه migrations در Solution Explorer
migrations folder in solution explorer in asp.net core

گام ششم : ساخت دیتابیس

حالا در پنجره Package Manager Console دستور update-database را وارد کنید و سپس دکمه enter صفحه کلید را فشار دهید تا دیتابیس StudentDB در اسکیوال سرور برایتان ایجاد شود.

ساخت دیتابیس در روش کدفرستساخت دیتابیس در روش کدفرست
update-database command in asp.net core

حالا نرم افزار MSSQL را اجرا کنید تا دیتابیس StudentDB را مشاهده کنید همانند تصویر

دیتابیس ایجاد شده در اسکیوال سروردیتابیس ایجاد شده در اسکیوال سرور
generated database in sql server

دوستان عزیز این مقاله آموزشی بسیار کاربردی از سری مقالات آموزش تصویری asp net core هم به پایان رسید امیدوارم که از این مقاله آموزشی لذت برده باشید سوالی داشتید حتما مطرح کنید سعی می‌کنم خیلی سریع پاسخگوی شما عزیزان باشم.

26
11 بهمن 1398
    ..نظرات..
    ..مقالات پربازدید..
    آموزش قرعه کشی در اینستاگرام
    طراحی سایت

    آموزش قرعه کشی در اینستاگرام

     آموزش قرعه کشی در اینستاگرام با سلام خدمت دوستان و کاربران گرامی . امروز با آموزش قرعه کشی در اینستاگرام برای کسانی که علاقه به ایجاد کمپین های تبلیغاتی دارند در خدمت شما هستیم . بحث قرعه کشی در اینستاگرام با توجه به فراگیر شدن این شبکه اجتماعی که البته امروزه زیرمجموعه فیسبوک مطرح میشود ، زیاد شده است . البته این احتمال وج...

    10761
    24 فروردین 1398
    bit.ly چیست ؟
    طراحی سایت

    bit.ly چیست ؟

    بیتلی یا bitly یکی از شناخته‌شده‌ترین سرویس‌های کوتاه کننده لینک است. این سایت با نشانی https://bit.ly در سال ۲۰۰۸ تاسیس شد. یک کوتاه کننده‌ی لینک وظیفه دارد تا لینک‌های مورد نظر کاربران را به شکل کوتاه و قابل خواندن و نوشتن تبدیل کند. این سرویس در هر ماه حدود ۶۰۰ میلیون لینک کاربران را کوتاه می‌کند.علت استفاده از...

    1054
    27 آذر 1398
    آموزش کار با افزونه دکان (چند فروشندگی)
    برنامه نویسی

    آموزش کار با افزونه دکان (چند فروشندگی)

    آموزش کار با افزونه دکان (چند فروشندگی)افزونه دکان در طراحی سایت فروشگاهی مورد استفاده قرار می گیرد. طراحی سایت در این مورد به گونه ای است که در یک وب سایت، چندین فروشنده امکان قرار دادن و فروش محصولات خود را، در پنل های جداگانه دارند.برای عضویت و قرار دادن محصولات در آن ابتدا وارد وب سایت مورد نظر که با افزونه دکان ایجاد شده است، شوید....

    868
    04 دی 1397