در این مطلب می خواهیم در مورد سه رویکرد موجود در Entity Framework صحبت کنیم و از این رو این مطلب شاید مهمترین مطلبی باشد که در زمینه Entity Framework می توانیم بنویسیم، بنابراین یادگیری آن، پیش از ورود به ادامه آموزش ها لازم و ضروری است. در Entity Framework سه رویکرد به نام های Code First و Model First و Database First وجود دارد. در ادامه مطلب ها ابتدا بر روی رویکرد Code First تمرکز می کنیم.

۱ – رویکرد Code First

در توسعه برنامه ها با رویکرد Code First تمرکز بر روی نیازمندی های دامنه مربوط به برنامه است. در رویکرد Code First ابتدا موجودیت ها و خصوصیت ها و رابطه های میان آنها را به صورت کلاس ها و خصوصیت های آن کلاس ها در زبان مورد نظر (اینجا سی شارپ) تعریف می کنیم و سپس پایگاه داده را از روی آنها ایجاد خواهیم کرد. بنابراین در رویکرد Code First پایگاه داده ای از پیش وجود ندارد، بلکه باید ساختار پایگاه داده را درون برنامه و توسط شی گرایی تعریف کنیم.

به عبارت دیگر در این رویکرد و با توجه به عدم وجود یک پایگاه داده از پیش موجود، برای ایجاد زیر ساختار پایگاه داده (جدول ها و ستون ها و رابطه میان آنها) نیازی به اجرای دستورهای SQL مانند CREATE DATABASE یا CREATE TABLE نیست، بلکه ساختارها به صورت کلاس های سی شارپ ایجاد می شوند، سپس توسط EDM و ارتباط زیر لایه های آن، این کلاس ها به جدول های پایگاه داده تبدیل می شوند.

۲ – رویکرد Model First

در رویکرد Model First ابتدا می توانیم EDM  را ایجاد و سپس از روی آن پایگاه داده هدف را ایجاد کنیم. برای ایجاد یک EDM خالی از ابزاری به نام Entity Data Model Wizard کمک می گیریم که شامل تعریف موجودیت ها و رابطه های میان آنها می شود و در پایان پایگاه داده را از روی این EDM ایجاد می کنیم. در این رویکرد و توسط یک ابزار ویژوالی و به صورت گرافیکی و با استفاده از کشیدن دیاگرام هایی که موجودیت ها، خصوصیت آنها و رابطه میان آنها را نشان می دهد، به صورت منطقی ساختار پایگاه داده مورد نظرمان را می کشیم.

ایجاد مدل در رویکرد Model First به شیوه ویژوال

۳ – رویکرد Database First

در رویکردهای بالا هیچ پایگاه داده ای از پیش وجود ندارد، ولی در رویکرد Database First از پیش یک پایگاه داده وجود دارد که می خواهیم از آن درون برنامه استفاده کنیم. در واقع در این رویکرد EDM  توسط ابزاری به نام EDMDesigner  از روی پایگاه داده ساخته می شود.