alireza binesh
alireza binesh
خواندن ۲ دقیقه·۵ سال پیش

Fluent Api از چیستی تا کاربرد در Entity Framework

نمونه ای از ساختار Fluent Api
نمونه ای از ساختار Fluent Api

احتمالا از مطالبی باشد که تا الان با آن برخورد داشتید یا حداقل در موردش شنیده اید، در این مطلب سعی میکنیم بفهمیم Fluent Api چیست و کمی از کاربرد آن در Entity framework خواهیم گفت که امیدوارم مفید باشد. اگر با Entity framework و orm ها اشنایی ندارید ابتدا درمورد آن ها کمی مطالعه کنید.


Fluent Api چیست؟

در واقع Fluent Api یک روش طراحی شی گرا Api هست که مبتنی بر فراخوانی پشت سر هم متد ها
( method chaining) و استفاده از آن ها است که با هدف بالابردن خوانایی کد ها طراحی شده.

این سیستم در جاهای زیادی کاربرد دارد، که از جمله آن میتوان به (Entity Framework(EF در asp.Net اشاره کرد.

Fluent Interface چیست؟

رابط های fluent یا fluent Interface ها درواقع رابط هایی هستند که با استفاده از روش بالا طراحی شدند.

همانند کلاس Employee در تصویر اول.

کاربرد Fluent Api در EF

در Entity framework دو روش برای پیکربندی کلاس ها وجود دارد.

1. استفاده از annotation ها

از attribute های dataAnnotation ها برای پیکربندی کلاس ها استفاده میشود که میتوانند بر روی هر کلاس entity اعمال شوند.

اتریبیوت هایی نظیر key , Timestamp , Required و ... که نحوه استفاده برخی از آن ها را در تصویر زیر مشاهده میکنید.

2.استفاده از Fluent Api

این روش از روش قبل کامل تر است یعنی علاوه بر بدست اوردن تمام ویژگی های روش قبل قابلیت هایی بیشتری نیز داریم، در این روش ما با کلاس EntityTypeBuilder که یک Fluent Interface است سر و کار داریم، به طور مثال برای دو کلاس Student و StudentAddress میتوان رابطه یک به یک یا یک به صفر را به شکل زیر تعریف کرد.

کلاس Student
کلاس Student
کلاس StudentAddress
کلاس StudentAddress


ایجاد رابطه یک به یک یا یک به صفر با استفاده از روش Fluent Api
ایجاد رابطه یک به یک یا یک به صفر با استفاده از روش Fluent Api




امیدوارم که این مطلب برای شما مفید بوده باشد و در اخر لینک یک سری از سایت هایی که از ان ها در نوشتن این مطالب استفاده کردم یا اینکه مفید بودند را اورده ام که میتوانید از ان ها استفاده کنید.

https://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-first.aspx

http://www.tahlildadeh.com/ArticleDetails/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-Fluent-API-%d8%af%d8%b1-Code-First

https://www.tutorialspoint.com/entity_framework/entity_framework_data_annotations.htm

fluent apientity framework
شاید از این پست‌ها خوشتان بیاید