ساخت اولین پروژه دیتابیس در Ef core- asp.net core (DB First )

با سلام چندین روش برای کار با دیتابیس در asp.net core وجود دارد و در این آموزش ما روشی را توضیح میدهیم که شما دیتابیس خود را از قبل تهیه (با برنامه sql server ) و یا قبلا موجود داشته اید و الان میخواید از طریق کد نویسی asp core به دیتابیس متصل و عملیات درج و ذخیره و حذف (CRUD)را انجام دهید

به این روش Database First میگویند

برای استفاده از روش DB First باید طبق مراحل زیر پیش بروید:

1 – نصب EF Core

در ابتدا باید 3 پکیج زیر را در برنامه ی خود نصب کنید. (اگر برنامه ی شما دارای چند لایه می‌باشد، باید این پکیج ها را روی تمامی لایه ها نصب کنید. البته برای انتقال دیتابیس به برنامه، نصب پکیج ها روی لایه ی دیتا کفایت می‌کند. اما برای کار با برنامه و دیتابیس باید روی تمام لایه ها نصب شود)

 

  • Entity Framework Core
  • EntityFrameworkCore.Tools
  • EntityFrameworkCore.SqlServer

بنابراین سیستم را به اینترنت وصل کنید و روی پروژه مورد نظر کلیک راست کرده و گزینه ی Manage Nuget Packages را انتخاب کنید و ن نصب کنید

2 – انتقال جداول به برنامه

اکنون اگر برنامه ی شما دارای چند لایه است، باید تمام لایه ها را به یکدیگر Reference بدهید.

ابتدا در لایه ی مورد نظر یک پوشه برای دیتابیس ایجاد کنید که معمولا نام این پوشه Models می‌باشد. من در لایه ی DataLayer این پوشه را ایجاد کردم:

سپس بخش Nuget Package Manager Console را باز کنید و قطعه کد زیر را در آن تایپ کنید:

Scaffold-DbContext “Server=.;Database=PORELMDB;Integrated Security=True” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

در این کد باید به جای عبارت PORELMDB نام دیتابیس خود را وارد نمایید.

همانطور که در تصویر مشخص شده است، اگر برنامه ی شما چند لایه دارد، لایه ی Data را در بخش Nuget Package Manager Console انتخاب نمایید.

سپس دکمه ی Enter را بزنید و منتظر بمانید تا برنامه کار خود را انجام دهد.

نکته : در صورتی که شما این کار را انجام دادید و پس از مدتی تغییراتی در دیتابیس خود در SQL Server ایجاد کردید، برای اینکه دیتابیس شما در برنامه نیز بروزرسانی شود باید قطعه کد زیر را در Package Manager Console بنویسید:

Scaffold-DbContext “Server=.;Database=PORELMDB;Integrated Security=True” Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

اکنون دیتابیس شما با موفقیت به برنامه منتقل شده و می‌توانید با آن کار کنید. اما مراحل زیر را نیز جهت تکمیل کار و ConnectionStrings باید انجام دهید.

مطلب پیشنهادی : افزودن ویرایشگر Tiny MCE به پروژه ASP.NET Core

3 – Connection String

برای این بخش باید کد هایی را در appsetting.json بنویسید و سپس از طریق Startup.cs برنامه را با استفاده از Connection String به دیتابیس متصل کنید.

برای این منظور ابتدا appsetting.json را باز کنید و قطعه کد زیر را در آن بنویسید:

“ConnectionStrings”: {
“PORELM_COM_Connection”: “Server=.;Database=DATABASENAME;Integrated Security=True”
},

مانند تصویر زیر:

تنها باید به جای عبارت DATABASENAME نام دیتابیس خود را وارد نمایید. همچنین به جای عبارت PORELM_COM_Connection نیز می‌توانید عبارت دلخواه خود را برای ConnectionString در نظر بگیرید.

مطلب پیشنهادی : هدایت کاربر به صفحه خاص بعد از ورود در ASP.NET MVC

4 – Startup.cs

اکنون فایل Startup.cs را باز کنید.

مانند تصویر زیر در ابتدای این کلاس یک نمونه از IConfiguration را تزریق وابستگی کنید:

سپس در متد ConfigureServices رفته و قطعه کد زیر را می‌نویسیم:

services.AddDbContext<Online_Test_DBContext>(options=>
options.UseSqlServer(Configuration.GetConnectionString(“PORELM_COM_Connection”))
);

به جای عبارت DATABASENAMEContext باید از فولدر Models نام DB Context خود را کپی کرده و در اینجا قرار دهید.

همچنین به جای عبارت PORELM_COM_Connection نیز باید از نامی که در مرحله ی قبل و در appsetting.json در نظر گرفته اید استفاده کنید.