خانه > همه ی مطالب > برنامه نویسی تحت وب > سمت سرور > Asp.Net MVC > تبدیل دیتابیس موجود به EntityFramework 7 CodeFirst در Asp.net Core RC 2
تبدیل بانک اطلاعاتی به EntityFramework 7 CodeFirst
تبدیل بانک اطلاعاتی به EntityFramework 7 CodeFirst

تبدیل دیتابیس موجود به EntityFramework 7 CodeFirst در Asp.net Core RC 2

با سلام خدمت کاربران گرامی.
در خدمت شما هستم با مقاله ای در رابطه با تبدیل دیتابیس های موجود در Microsoft Sql Server به Model ها در Entity Framework 7 CodeFirst.

خب توی نسخه های پایین تر Asp.net MVC 6 همانند Asp.net MVC 5 و به پایین تر ما از روشی به نام DataBase First برای اتصال بانک و پروژه استفاده می کردیم البته اونجا نیز CodeFisrt موجود بود ولی کاربران به انتخاب یکی را استفاده می ردند.
حالا نسخه ی Asp.net MVC 6 برای آن دسته از کاربرانی که از Entity Framework CodeFirst استفاده می کردند زیاد مشکل ساز نبود. اما کاربرانی که از نسخه EntityFramework DataBase First استفاده می کردند چی؟ مشکل از این جا شروع می شود که دیگر در Asp.net Core یا همان Asp.net MVC 6 دیگر چیزی به اسم EntityFramework DataBase First وجود نداشت.

ما در این مقاله به برسی این مورد می پردازیم که آیا کاربرانی که از نسخه ی دیتابیس فرست استفاده می کردند باید به نسخه ی کد فرست کوچ کنند یا اینکه بازم راهی هست؟ بله راها های زیادی هست که می تواند به مهندسی معکوس اشاره داشت که ابزار هایی برای این کار معرفی شده اند ولی ما ازز روش خود مایکروسافت استفاده می کنیم. با ما همراه باشید….

من مقاله ی زیر را برای دوستانی که این سوال را از من پرسیده بودند اماده کردم (ترجمه شده از این سایت)

تبدیل دیتابیس موجود به EntityFramework 7 CodeFirst در Asp.net Core RC 2

پیشنیاز ها:

VisualStudio 2015 Update 3

.Net Core 1.0

یک دیتابیس از پیش ساخته شده (برای مثال دیتابیس معرفیی شده)

 

دیتابیس مورد استفاده:

برای اینکه شما نیز از کدهای زیر استفاده کنید میتوانید در Sql سرور یک دیتابیس جدید بسازید و روی آن کلیک راست نموده و New Query را انتخاب نمایید و کد های زیر را در آن وارد نمایید و کلید F5 را فشار دهید تا جداول ساخته شوند…

خب حالا ساخت یک پروژه ی جدید از نوع Asp.net Core 1.0 یا MVC 6 (توجه کنید اخرین نسخه یعنی RC 2 را نسب کنید):

  • ویژوال استادیو 2015 را باز کنید.
  • از منوی File زیر منوی New و Project را انخاب کنید…
  • در پنجره ی باز شده از قسمت Template زیرمجموعه ی C# را باز و از لیست Web را برگزینید…
  • حالا در بخش راست ( ASP.NET Core Web Application (.NET Core را انتخاب کنید.
  • حالا از بخش پایین یک نام براش انتخاب کنید.
  • دکمه ی Ok را کلیک کنید.
  • در پنجره ی باز شده تحت عنوان New ASP.NET Core Web Application مورد  Web Application را انتخاب کنید.
  • از قسمت Authentication در همان صفحه No Authentication را انتخاب کنید.
  • دکمه ی OK را انتخاب کنید.

حالا کمی صب کنید تا پروژه ساخته شود.

 

نصب EntityFrameWork 7: 

برای استفاده از EF Core لازم است تا یک سری پکیج نصب کنیم.

برای نصب EntityFramework 7 ابتدا از منوی Toolsزیر منوی NuGet Package Manager و زیر منوی  Package Manager Console را انتخاب نمایید در کنسول یاز شده در پایین صفحه دستورات زیر را به ترتیب وارد نمایید و منتظر شوید برای هرکدام پیغام Successfuly طاهر شود.

Install-Package Microsoft.EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.Tools –Pre

Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

بعد از اتمام فایل Project.json را باز نمایید.

تکه کد زیر را به این فایل اضافه نمایید. دقت کنید که شاید از قبل این تکه کد در این فایل موجود باشد اگر موجود بود می توانید فقط خط کد مارک شده را اضافه کنید.

حالا مهندسی معکوس برای ساخت Model ها:

برای شروع کار باز هم کنسول Package Manager Console را باز کنید (قبلا توضیح داده شده است)

حالا کد زیر را وارد نماید تا عملیات انجام شود. فقط دقت کنید اگر با خطایی مبنی بر موجود نبودن دستور یا not recognized مواجه شدید VisualStudio را ریستارت نمایید.

Scaffold-DbContext “Server=[SERVER];Database=[DATA_BASE];Trusted_Connection=True;” Microsoft.EntityFrameworkCore.SqlServer -OutputDir [FOLDER_NAME]

دقت شود که در کد بالا اطلاعات درست جایگزین شود:

  • [SERVER]: نام سرور
  • [DATA_BASE]: نام دیتابیس
  • [FOLDER_NAME]: پوشه به جهت ذخیره سازی Model ها. برای مثال Models….

حالا دستور بالا را وارد نمایید و کلید Enter را فشار دهید اگر همه چیز دست باشد بعد مدت کمی در پوشه ای تعیین شده می توانید لیست کلاس ها را ببینید. حتی برای شما فایل Context را نیز می سازد…

نمونه کدی که ساخته است (جدول ):

نمونه کدی از فایل Context که ساخته اس

این پروژه را روی GitHub برسی نمایید.

امیدوارم که مفید واقع شده باشد…

درباره مهندس احمدی

من محمدرضا احمدی برنامه نویس و طراح وب هستم. به مدت شش سال می باشد برنامه نویسی را شروع کردم. از برنامه نویسی با زبان ویژوال بیسیک 6 لذت می بردم که بعدا با برنامه نویسی تحت وب اشنا شدم. در اول کار با Php کار را استارت زدم که بعد از مدتی به دلایلی به Asp.net کوچ نمودم و الان به مدت سه سال هست که Asp.net MVC را به صورت حرفه ای کار می کنم. امیدوارم بتوانم در این سایت تجربیات خودم را با شما دوستان گرامی به اشتراک بگزارم. به امید موفقیت جوانان کشورمان در تمام زمینه های صنعت و تکنولوژی

3 نظرات

  1. سارا کیانی

    سلام
    لطفاً برای ایندسته از آموزشهای سایت تون امکان خروجی PDF بذارید. حتی وقتی خودم میخوام پرینت PDF بگیرم Body سایت توی چاپ نمی یاد!!!!

  2. Great, thanks for sharing this article.

پاسخ دهید

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