در روش کد فرست یا Code First بصورت پیش فرض کلاس ها با استفاده از مجموعه ای از قراردادهای گنجانده شده در EF به جداول نگاشت می شود. به طور مثال بصورت پیش فرض در روش کد فرست در EF Core یک پراپرتی از نوع string به varchar(MAX) در دیتابیس نگاشت می شود.با این حال، گاهی اوقات نمیتوانیم یا نمیخواهیم از آن قراردادها پیروی کنیم و نیاز داریم که موجودیتها را به چیزی غیر از آنچه که قراردادها دیکته میکنند، نگاشت کنیم.
برای آموزش Code First در EF Core می توانید از این لینک استفاده کنید.
برای این که EF را به چیزی غیر از قراردادها پیکربندی کنیم دو راه وجود دارد:
چرا در روش کد فرست نباید از annotation ها در EF Core استفاده کنیم؟
استفاده از annotation ها باعث کثیفی کد خواهند شد
استفاده از annotation ها خوانایی کد را پایین می آورد
استفاده از annotation ها توسعه و نگه داری کد را سخت خواهد کرد
چرا در روش کد فرست باید از Fluent API در EF Core استفاده کنیم؟
استفاده از Fluent API ها خوانایی کد را بالا می برد
استفاده از Fluent API ها باعث تسریع روند پروژه خواهد شد
استفاده از Fluent API ها توسعه و نگه داری کد را آسان می کند
انواع سناریوهای نگاشت را می توان با Fluent API انجام داد
به طور کل annotation ها فقط زیرمجموعه ای از عملکرد Fluent Api را پوشش می دهند، بنابراین سناریوهای نگاشتی وجود دارد که با استفاده از annotation نمی توان به آنها دست یافت که این سناریو ها باید با Fluent Api ها نگاشت شوند.
سر فصل های آموزش Fluent API در EF Core
نحوه ایجاد یک Fluent API و آشنایی با ساختار آن
جداسازی پیاده سازی های Fluent API از context
بررسی انواع متدهای Fluent API و کاربردهای آن
ایجاد رابطه یک به یک(One-to- One) با استفاده از Fluent APi
ایجاد رابطه یک به چند(One-to-Many) با استفاده از Fluent APi
ایجاد رابطه چند به چند(Many -to-Many) با استفاده از Fluent APi
ایجاد رابطه Self Relation با استفاده از Fluent API
انجام Seed Data در Fluent API
نحوه اعمال کردن ایندکس ها بوسیله Fluent API
جهت مشاهده این آموزش به وب سایت آموزش برنامه نویسی کدسل در لینک زیر مراجعه نمایید: