با سلام چندین روش برای کار با دیتابیس در 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 در نظر گرفته اید استفاده کنید.