عملیات CRUD با NET Core 2. و Entity Framework

CRUD با NET Core 2.

 

در این مقاله،میخواهیم راجب عملیات CRUD با NET Core 2. و Entity Framework با دیتابیس SQL Server صحبت کنیم. تا پایان این مقاله همراه ما باشید.

اطلاعاتی در رابطه با روش‌های مختلف جهت اتصال به SQL Server Database و مراحل بازیابی داده‌ها از یک SQL Server Database با استفاده از .NET Core و Entity Framework ارائه خواهیم کرد.

در ادامه ابزارهای مورد استفاده در این مطلب آمده است.

  1.  Visual Studio 2019
  2.  NuGet Packages
  3. SQL Server 2016
  4. .NET Core 2.0
  5.  .NET Core Web Application
  6.  Entity Framework
  7.  زبان C#

ایجاد یک پروژه در Visual Studio 2019

برای شروع، یک پروژه‌ی ” ASP.NET Core Web Application ” ایجاد خواهیم کرد.

۱- Visual Studio را باز کنید.

۲- در پنجره‌ی” start، ” Create a new project را انتخاب کنید.

Create a new project

۳- در پنجره‌ی ” Create a new project “، قالب ASP.NET Core Web Application را انتخاب کرده، سپس ” Next ” را انتخاب کنید.

ASP.NET Core Web Application

۴- در پنجره‌ی ” Configure your new project “، ” SQLServerDataRetrieval ” را به عنوان نام پروژه وارد کنید.

سپس، ” Create ” را انتخاب کنید.

Configure your new project

۵- در پنجره‌ی ” Create a new ASP.NET Core Web Application “، تایید کنید که ASP.NET Core 2.0 یا جدیدتر در منوی آبشاری بالای صفحه ظاهر شود.

سپس، ” Web Application ” که حاوی مثال Razor Pages است را انتخاب کنید. سپس، ” Create ” را انتخاب کنید.

Web Application

۶- Visual Studio ؛ پروژه‌ی جدید شما را باز می‌کند.

افزودن NuGet Package ها به پروژه‌ی ایجاد شده‌ی فوق

در منوی Visual Studio، به مسیر Tools >> NuGet Package Manager >> Package Manager Console بروید.

NuGet Package Manager

سپس، فرمان زیر را برای نصب EntityFramework جهت فراهم آوردن روشی برای اتصال به SQL Server اجرا کنید:

Install-Package Microsoft.EntityFrameworkCore.SqlServer

برای ایجاد یک پایگاه‌داده از مدل EntityFramework Core شما توسط Entity Framework Core Tools، فرمان زیر را اجرا کنید:

Install-Package Microsoft.EntityFrameworkCore.Tools

روش‌های متنوع جهت اتصال به SQL Server

در نسخه‌های پیشین ( ASP.NET (.NET Frameworks، از web.config برای رشته‌های اتصال استفاده می‌کردیم اما در ASP.NET Core، روش‌های زیر را جهت ایجاد رشته‌های اتصال پایگاه‌داده‌ی SQL Server در اختیار داریم.

نکته:

دو روش زیر از کلاسی به نام “MyDbContext” استفاده می‌کنند که پس از اتمام هر دو گزینه توضیح خواهیم داد.

رشته‌ی اتصال در “Startup.cs”

کدگذاری اختصاصی رشته‌ی اتصال درون فایل Startup.cs در کد زیر:

CRUD با NET Core 2.

 

var connectionString = @"Data Source=ABCD;Initial Catalog=Person2;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=******";    
services.AddDbContext<MyDbContext>(options => options.UseSqlServer(connectionString));  

رشته‌ی اتصال از ” appsetting.json ” به ” Startup.cs “

در startup.cs، کد زیر جهت آگاه‌سازی سیستم از اینکه اتصال در appsetting.json تعریف شده‌است، مورد نیاز می‌باشد.

CRUD با NET Core 2.

 

services.AddDbContext<MyDbContext>(options =>    
options.UseSqlServer(Configuration.GetConnectionString("connectionString")));  

جایی که ” connectionString ” در appsetting.json در دایرکتوری اصلی برنامه تعریف شده‌است.

CRUD با NET Core 2.

 

{    
  "Logging": {    
    "IncludeScopes": false,    
    "LogLevel": {    
      "Default": "Warning"    
    }    
  },    
  "ConnectionStrings": {    
    "connectionString": "Data Source=ABCD;Initial Catalog=Person2;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=******"    
  }    
} 

” MyDbContext “، کلاس متن داده‌ای ما است و بصورت زیر می‌باشد:

 public class MyDbContext : DbContext    
    {    
        public MyDbContext(DbContextOptions<MyDbContext> options)    
            : base(options)    
        { }    
        public DbSet<MyUser> MyUser {get; set;}    
    }  

Scaffolding command

یک پوشه‌ی جدید در Solution مربوط به Visual Studio افزوده و نام آن را ” DBModels ” بگذارید.

فرمان زیر را در NuGet Package Manager Console اجرا کنید.

Scaffold-DbContext “ Server=RRR;Database=Person2;User ID= sa; Password=*****; ”

Microsoft.EntityFrameworkCore.SqlServer -OutputDir DBModels

نکته:

اگر دستور فوق خطا بدهد، آنگاه فرمان زیر را در NuGet Package Manager Console اجرا کنید.

Install-Package Microsoft.EntityFrameworkCore.Tools

پس از اجرای فرمان فوق، کلاس‌های Model و کلاس‌های context داخل پوشه‌ی خروجی DBModels ایجاد می‌شوند.

نکته:

اطمینان حاصل کنید که جدول SQL Server که داده‌ها باید از آن واکشی شوند، دارای یک Primary KEY اختصاص‌یافته می‌باشد، در غیر اینصورت خطا خواهد داد.

CRUD با NET Core 2.

حال، با استفاده از کلاس‌های متن و مدل‌ها، می‌توانیم داده‌ها را بصورت زیر از پایگاه‌داده بدست آوریم.

CRUD با NET Core 2.

نمایش داده‌های واکشی شده از پایگاه‌داده بر روی نمایشگر

مجدد جهت دستیابی به عملیات CRUD برای Model افزوده شده در مراحل پیشین، از Scaffolding استفاده خواهیم کرد.

۱- پوشه‌ای جدید در زیر “Pages ” اضافه کرده و آن را بر اساس مدلی (جدول Database) که از SQL Server به آن متصل شدید، نام‌گذاری کنید.

برای مثال آن را بصورت ” UPSErrors ” نام‌گذاری می‌کنیم.

CRUD با NET Core 2.

۲- برروی پوشه‌ی ” UPSErrors ” راست کلیک کرده، Add >> New ScaffoldItem را انتخاب کنید.

۳- در کادر محاوره‌ای “(Add Scaffold”، “Razor Pages using Entity Framework (CRUD” را انتخاب کرده و بر روی آن جفت کلیک کنید.

CRUD با NET Core 2.

۴- در کادر محاوره‌ای “(Add Razor Pages using Entity Framework (CRUD”، کلاس Model را، که می‌خواهید عملیات CRUD را بر روی آن انجام دهید، از منوی آبشاری انتخاب کنید.

CRUD با NET Core 2.

۵- پس از انتخاب یک کلاس Model ، کلاس DataContext را از منوی آبشاری انتخاب کرده و درنهایت، بر روی ” Add ” کلیک کنید.

Data Context Class

۶- فایل‌های ( CRUD Operations (Create.cshtml، Delete.cshtml، Details.cshtml، Edit.cshtml و Index.cshtml ایجاد خواهند شد.

CRUD با NET Core 2.

۷- حتما ” Startup.cs ” را برای خط مذکور در ادامه بررسی کنید، چرا که جزئیات مرتبط با Context را به ConfigureServices اضافه خواهد کرد.

Startup.cs

۸- فایل‌ها را با راست کلیک بر روی فایل Index و باز کردن با مرورگر امتحان کنید.

 

CRUD با NET Core 2.

  • پسورد: www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.