آموزش ASP.NET Core MVCآموزش طراحی سایت

آموزش روش Database First

روش Database First چیست؟ چگونه از روش Database – First در ASP.NET Core 2 استفاده کنیم ؟ چگونه عملیات درج ، آپدیت و ویرایش اطلاعات را در روش Database First انجام دهیم؟

بخش ۱ : Entity Framework Core چیست ؟
بخش ۲ : آموزش افزودن Entity Framework Core 2.2 به پروژه
بخش ۳ : آموزش روش Database First در EF Core 2.2 (همین مقاله)

آموزش روش DataBase First

در روش Database First ، یک دیتابیس آماده داریم و این دیتابیس به یکسری کلاس ها تبدیل می شود. به ازای هر جدول از دیتابیس یک کلاس ایجاد می شود و ستون های هر جدول Property های این Class را تشکیل می دهند.

ابتدا یک دیتابیس به نام StudentDB در نرم افزار SQL Server ایجاد می کنیم. این دیتابیس شامل سه جدول به نام های Student ، Course و Student_Course می باشد همانند تصویر زیر

روش Database-First در EF Core
روش Database-First در EF Core

 

حالا برای تبدیل دیتابیس StudentDB به کلاس های مدل ، دستور زیر را در پنجره ی Package Manager Console وارد نموده و دکمه Enter را بزنید تا این دستور اجرا شود.

Scaffold-DbContext "Server=(local);Database=StudentDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

در دستور بالا بعد از Scaffold-DbContext ، رشته اتصال یا Connection String رو تعریف کردیم و در انتهای دستور هم از output Models- استفاده کردیم تا کلاس های مربوط به دیتابیس در پوشه Models ایجاد شوند.

بعد از اجرای دستور بالا کلاس های Student ، Course ، StudentCourse و StudentDBContext به پوشه Models اضافه می شوند.

آپدیت کردن کلاس های دیتابیس در روش Database – First

چنانچه در SQL Server ، تغییری در دیتابیس خود ایجاد کردید می توانید با وارد کردن دستور زیر در پنجره ی Package Manager Console کلاس های مربوط به دیتابیس خود را آپدیت کنید.

Scaffold-DbContext "Server=(local);Database=StudentDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

افزودن کدهای درج ، حذف ، ویرایش و نمایش اطلاعات به Controller

حالا یک کنترلر به پروژه اضافه کنید نوع کنترلر را MVC Controller With Views , using Entity Framework انتخاب کرده و روی Add کلیک کنید.

آموزش EF Core - افزودن کنترلر
آموزش EF Core – افزودن کنترلر

حالا در پنجره باز شده بر از قسمت Model Class نام کلاسی که می خواهید کدهای مربوط به عملیات درج ، حذف ، ویرایش و نمایش اطلاعات برای آن در Controller ایجاد شود را انتخاب کنید ، از قسمت Data context class نام کلاس Context را انتخاب نموده که نام کلاس context پروژه StudentDBContext هست و در قسمت Controller name هم می توانید نام کنترلر را تغییر دهید ، سپس بر روی دکمه Add کلیک کنید تا این کنترلر به همراه کدهای عملیات درج ، حذف ، ویرایش و نمایش اطلاعات برای شما ایجاد شود.

روش Database First - ایجاد کنترلر
روش Database First – ایجاد کنترلر

 

برچسب ها

آرزو ابراهیمی

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

نوشته های مشابه

‫16 نظر داریم، تو هم نظر بذار، پاسخ کامل میدیم :)

  1. سلام من طبق گفته های شما پروژه خودمو ساختم
    اما وقتی پروژه رو اجرا میکنم خطای زیر را به من نشون میده:
    AggregateException: Some services are not able to be constructed (Error while validating the service descriptor

    1. سلام وقتتون بخیر
      خطای ایجاد شده به خاطر تزریق وابستگی هست شما یک سرویس دارید و باید در کلاس Startup.cs تزریق وابستگی برای این سرویس رو پیکربندی کنید با استفاده از متدهای AddTransient و …

  2. سلام
    ممنون از آموزش های عالی شما می خواستم بدونم اگر کلاس ها را با استفاده از dtabaseFirst ساختیم و حالا پشیمون شدیم و بخواهیم از یک پایگاه داده دیگه استفاده کنیم چگونه با دستوری همه را حذف کنیم؟

    1. سلام وقتتون بخیر ، خواهش میکنم ، خوش حالم مورد رضایت شما بوده است.
      فکر نمیکنم دستوری برای اینکار وجود داشته باشه ، به راحتی می تونه فایل های داخل پوشه Models که پروژه اضافه شدن روحذف کنیم. یا کلا پوشه Models رو حذف کنیم و دوباره بسازیم.

  3. سلام خسته نباشید .در روش database first ،در رابطه با کلاس های ایجاد شده و نحوه استفاده از اونها توضیحی در سایت ندارین؟ چون من وقتی طبق این روش کلاس هارو ایجاد کردم ،نمیدونستم که چطوری باید روی دیتابیس عملیات انجام بدم.
    اگر راهنمایی کنید ممنون میشم.

    1. سلام وقتتون بخیر شما با استفاده از EntityFramework میتونید عمیات درج و حذف و آپدیت و … روی دیتابیس انجام بدید.

  4. با عرض سلام در Package Manager Console این دستور رو وارد کردم
    PM> Scaffold-DbContext “Data Source=PROGRAMMING;Initial Catalog=StudentDB;Integrated Security=True;”
    ولی این پیغام خطا ظاهر میشه

    Scaffold-DbContext : The term ‘Scaffold-DbContext’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was
    included, verify that the path is correct and try again.
    At line:1 char:1
    + Scaffold-DbContext “Data Source=PROGRAMMING;Initial Catalog=StudentDB …
    + ~~~~~~~~~~~~~~~~~~
    + CategoryInfo : ObjectNotFound: (Scaffold-DbContext:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
    ممکنه راهنمایی بفرمایید
    سپاس

    1. سلام وقتتون بخیر
      از طریق Package Manager console دستور زیر را اجرا کنید تا پکیج Microsoft.EntityFrameworkCore.Tools نصب شود سپس دوباره دستور را وارد کنید.
      Install-Package Microsoft.EntityFrameworkCore.Tools

  5. سلام ببخشید تو دوره asp. Core آموزش تولید api به صورت json برای استفاده در اندروید موجوده؟ اگر بله تو کدوم فصل (:

  6. سلام . ممکنه همینطور که به صورت ساده این آموزش را قرار دادید . نحوه تزریق وابستگی را در ادامه آموزش بدین ؟
    ممنون

    1. سلام ، تا یک ماه آینده آموزش های مقاله محور زیادی برای ASP.NET Core خواهیم داشت تزریق وابستگی هم جزو آموزش هایی هست که در آینده منتشر می شود.

  7. سلام من سه تا سر فصل آخر شما رو انجام دادم . از آموزش EntityFramework Core . ولی برنامم ارور میده توی اجرای کنترلر. نباید Dependency Injection انجام داد؟؟

    اینم ارورش :

    InvalidOperationException: Unable to resolve service for type ‘WebEnsh1.Models.ENSHEABContext’ while attempting to activate ‘WebEnsh1.Controllers.PmankarsController’.

    1. سلام ، بله باید تزریق وابستگی انجام داد برای کلاس Context ، تا این خطا رفع بشه.

    1. سلام دوست عزیز، وقت شما بخیر. ما کلی مقاله رایگان درباره سئو وردپرس داریم و همینطور خدمات افزایش سرعت سایت برای وردپرس و از طرفی آموزش های خصوصی حرفه ای برای وردپرس فراهم است. و همینطور دوره های مجازی که برای سایت‌های وردپرس مفید هستند مثل سرچ کسنول و gtmetrix و …. همه این موارد در منو سایت قابل دیدن هستند. موفق باشید.

      1

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


حداکثر حجم فایل برای آپلود: 1 مگابایت.
فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ.
شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید.

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر