fluent API در Code First

shape
shape
shape
shape
shape
shape
shape
shape

در این بخش میخواهیم در مورد fluent API در Code First توضیح دهیم.

fluent API

در MVC برای ایجاد روابط بین جداول می توانید از fluent API استفاده کنید، این روش برای کد نویسی و طراحی دیتابیس به روش Code First می باشد:

One-to–Zero-or-One (روابط یک به یک)

به رابطه بالا One-to–Zero گفته می شود زیرا شما فقط کلید اصلی جدول را مشخص کرده اید آن را به هیچ جدول دیگری ارتباط نداده اید.

در این رابطه ما یک رابطه One-to-One ایجاد کرده ایم. در این رابطه سمت OfficeAssignment اختیاری است.

برای اجباری کردن هر دو سمت در یک رابطه یک به یک می توانید به صورت زیر عمل کنید:

Many-to-Many (روابط چند به چند)

اگر شما بخواهید نام جداول و columns هایی که می خواهید بین آنها رابطه ایجاد کنید را مشخص کنید و اطلاعات بیشتری را تنظیم کنید می توانید از روش زیر استفاده کنید:

Cascade Delete
شما به وسیله متد WillCascadeOnDelete می توانید cascade delete را بر روی Relation خود ایجاد کنید، اگر کلید خارجی شما در دیتابیس nullable نباشد Code First بر روی رابطه شما cascade delete را اجرا می کند اما اگر کلید خارجی شما nullable باشد Code First

بر روی رابطه شما cascade delete را اجرا نمی کند و هنگام حذف کلید اصلی کلید خارجی با مقدار null مقدار دهی می شود، این همان حال SET NULL در SQL Server است.

برای حذف cascade delete می توانید از کد زیر استفاده کنید:

کد زیر یک رابطه ایجاد می کند و cascade delete را نیز فعال می کند:

Configuring a Composite Foreign Key
شاید شما دارای یک کلید اصلی ترکیبی باشید، مثلا کلید شما در جدول Department، از دو فیلد تشکیل شده است یکی پراپرتی Name و دیگری پراپرتی DepartmentID برای معرفی این دو پراپرتی به عنوان کلید اصلی در جدول، شمات باید به صورت زیر عمل کنید:

Renaming a Foreign Key That Is Not Defined in the Model
اگر شما نامی را برای کلید خارجی استفاده می کنید که در مل شما نیست اما در جدول شما در دیتابس وجود دارد می توانید به صورت زیر عمل کنید:

Configuring a Foreign Key Name That Does Not Follow the Code First Convention
اگر کلید خارجی شما در کلاس Course دارای نام SomeDepartmentID به جای DepartmentID باشد، شما باید این نام را دقیقا مشخص کنید، با استفاده از کد زیر می توانید این کار را انجام دهید:

Model Used in Samples
یک مثال کامل برای شما:

منبع

پاسخی بگذارید

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