ارتباط با پایگاه داده در asp.net mvc

مهمترین هدف از ایجاد یک سایت داینامیک، ارتباط آن با پایگاه داده جهت ذخیره سازی و استخراج اطلاعات می باشد. Entity Framework که به اختصار EF نامیده می شود یک ORM در پلتفرم دات نت می باشد که از دات نت 3.5 به بعد در دسترس برنامه نویسان قرار گرفت. وظیفه اصلی EF اتصال به پایگاه داده و مدل سازی از جداول موجود در آن می باشد. منظور از مدل سازی، تبدیل هر جدول پایگاه داده به یک کلاس برنامه نویسی می باشد که همین امر موجب سهولت و تسریع در امر برنامه نویسی می شود.

Entity Framework

در دروس قبل با نحوه ساخت یک Model آشنا شدید. حال قصد داریم نحوه تبدیل جداول پایگاه داده را به Model شرح دهیم. ابتدا یک پایگاه داده جدید به نام Store در SQL Server ایجاد کرده و جدول Category را با مشخصات زیر به آن اضافه کنید.

جدول گروه محصولات

دقت کنید که فیلد CategoryId از نوع Primary Key بوده و خاصیت Is Identity آن نیز با Yes مقدار دهی شده است تا کد گروه بصورت اتوماتیک تولید شود. در مرحله بعدی جدولی به نام Product با مشخصات زیر ایجاد نمایید.

جدول محصولات

در این جدول فیلد PrdouctId از نوع PrimaryKey و اتوماتیک می باشد. از آنجا که رابطه بین گروه و محصول یک رابطه یک به چند می باشد، در جدول Product فیلدی به نام CategoryId به عنوان کلید خارجی جهت ارتباط با جدول Category قرار داده شده است. پس از ذخیره سازی جداول ایجاد شده، از طریق دیاگرام رابطه بین آنها را برقرار کنید.

برقراری رابطه بین جداول

پس از تکمیل پایگاه داده یک پروژه از نوع ASP.NET MVC از نوع Empty و با نام Store ایجاد نمایید.

ساخت پروژه MVC

در پروژه ساخته شده، روی پوشه Models کلیک راست کرده و از منوی Add گزینه New Item را انتخاب نمایید.

ساخت EF - مرحله 1

در پنجره باز شده از سمت چپ گزینه Data و در کادر مرکز پنجره، گزینه ADO.NET Entity Data Model را انتخاب کنید. در کادر Name نیز StoreModel را وارد کنید.

ساخت EF مرحله 2

پس از انجام تنظیمات روی دکمه Add کلیک کنید.

ساخت EF مرحله 3

در این پنجره گزینه EF Designer from database را انتخاب کرده و روی دکمه Next کلیک کنید.

در پنجره بعدی جهت اتصال به پایگاه داده روی گزینه New Connection کلیک کنید تا پنجره زیر باز شود.

ساخت EF مرحله 4

گزینه Microsoft SQL Serve را انتخاب کرده و روی دکمه Continue کلیک کنید.

تنظیمات کانکشن

در کادر Server Name نام سروری که برنامه SQL Server روی آن نصب شده است انتخاب کنید. این نام معمولا Computer Name شما می باشد. پس از انتخاب نام سرور، در کادر Select or enter a name نام پایگاه داده خود را انتخاب کرده و روی دکمه Test Connection کلیک کنید. در صورتیکه با پیغام خطا مواجه نشدید روی دکمه OK کلیک کنید.

ساخت EF مرحله 5

پس از انجام تنظیمات مربوط به کانکشن، در کادر Connection string اطلاعات مربوط به آن را می توانید مشاهده نمایید که این اطلاعات به فایل Web.Config اضافه خواهند شد. همچنین در کادر بعدی نام موجودیتی که توسط آن می توانید به پایگاه داده متصل شوید نمایش داده شده است که در این مثال StoreEntities می باشد. این نام را به خاطر سپرده و روی دکمه Next کلیک کنید.

ساخت ef مرحله 7

در این مرحله می توانید نسخه EF را انتخاب کنید. بدون انجام تغییرات روی دکمه Next کلیک کنید. در صورتیکه تنظیمات مراحل قبل را به درستی انجام داده باشید، در پنجره نمایش داده شده از قسمت dbo موجود در زیر مجموعه Tables می توانید لیست جداول پایگاه داده را مشاهده نمایید.

ساخت ef مرحله 8

 جداول Categroy و Product را تیک دارد کنید.

در پایین کادر مربوط به انتخاب جداول، گزینه Pluralize or … وجود دارد که بهتر است همواره تیک دار باشد و فعال بودن آن باعث می شود نام جداول بصورت اسم جمع (Categories, Products) در برنامه قابل استفاده باشند.

پس از انجام تنظیمات رو دکمه Finish کلیک کنید.

ساخت ef مرحله پایانی

مشاهده می کنید که در پوشه Model فایلی با نام StoreModel.edmx اضافه شده است و در زیر مجموعه StoreModel.tt می توانید لیست کلاس های مدل سازی از جداول پایگاه داده را مشاهده نمایید. همچنین همانطور که در تصویر فوق مشخص است، با دابل کلیک بر روی فایل edmx می توانید کلاس های مدل سازی شده را بصورت دیاگرام نیز مشاهده نمایید که شبیه نمونه معادل در پایگاه داده می باشد.