PDA

View Full Version : سوال: Entity Framework Code First چیست؟



kavayo
پنج شنبه 04 اردیبهشت 1393, 19:24 عصر
آیا همون entity framework هستش که ما یک مدل از دیتابیس میسازیم و سپس از entity های اون استفاده میکنیم ؟یا نه ؟ چه فرق هایی با هم دارن ؟

مهدی کرامتی
پنج شنبه 04 اردیبهشت 1393, 19:32 عصر
چیزی که شما گفتید روش Database First است. در روش Code First شما کار را با ساختن کلاسهای مورد نظر شروع می کنید. سپس با ایجاد یک کنترلر برای این کلاس و انتخاب New Context یک کلاس Context جدید برای شما ایجاد می شود. سپس در web.config میبایست Connection String مربوطه (هم نام Context) را ویرایش کنید تا مشخصات اتصال به دیتابیس معین باشد. با اولین اجرای برنامه و رفتن به کنترلر مورد نظر دیتابیس و جداول مربوطه ایجاد خواهند شد!

kavayo
پنج شنبه 04 اردیبهشت 1393, 19:51 عصر
یعنی با تغییر در کلاس ها با فراخوانی برنامه دیتابیس ما هم تغییر میکند آیا میتوان در این کلاس ها کلید خارجی را هم معرفی کنیم و یا قابلیت خود افزایشی کلید اصلی جداول را نیز ایجاد کنیم وایا یک مدل کلی از دیتابیس امان در اختیار داریم ؟

مهدی کرامتی
پنج شنبه 04 اردیبهشت 1393, 20:45 عصر
یعنی با تغییر در کلاس ها با فراخوانی برنامه دیتابیس ما هم تغییر میکند
در صورت فعال کردن Code First Migrations این اتفاق خواهد افتاد.


آیا میتوان در این کلاس ها کلید خارجی را هم معرفی کنیم
با قرار دادن Navigation Property ها در کلاس های مدل رابطه ها به صورت خودکار در دیتابیس ایجاد خواهند شد.


قابلیت خود افزایشی کلید اصلی جداول را نیز ایجاد کنیم
Property ای از کلاس که صفت [Key] را به آن می دهید به عنوان Primary Key منظور خواهد شد. PK به صورت پیش فرض Identity است، مگر اینکه با قرار دادن صفت ویژه ای اعلام کنید که نمی خواهید Identity باشد.


وایا یک مدل کلی از دیتابیس امان در اختیار داریم ؟
اگر منظورتان دیاگرام دیتابیس در ویژوال استودیو (مانند روش Database First) است پاسخ منفی است. اما در سمت دیتابیس می توانید دیاگرام را ایجاد کرده و مشاهده کنید.