در این سری آموزشی که به صورت رایگان بر روی وبسایت پرووید منتشر می شود در رابطه با استفاده کردن از Entity Framework 6 در زمان وجود داشتن یک دیتابیس صحبت خواهیم کرد. به عبارت دیگر روش database-first را در این آموزش بررسی خواهیم نمود. در ابتدا حتماً توصیه میکنیم که از آموزش رایگان Entity Framework Code First و آموزش رایگان مقدماتی Entity Framework در دات نت استفاده نمایید تا به عنوان یک مکمل بتوانید مطالب مربوط به آنها را نیز فرا بگیرید.
روش Database First در استفاده کردن از تکنولوژی Entity Framework
روش database-first با ایجاد کردن یک Entity Data Model از یک دیتابیس از قبل موجود آغاز میشود. پس از آن نحوه پرس و جو زدن داده ها و همچنین ذخیره کردن آنها را با استفاده از Entity Framework بررسی خواهیم نمود. هر دو روش database-first و code-first در Entity Framework میتوانند فواید و جذابیت های خاص خود را داشته باشند که در قسمت زیر به برخی از آنها اشاره میکنیم.
قابلیتهای Entity Framework 6 Database First و Entity Framework Code First
- ایجاد یک Entity Data Model از یک دیتابیس از قبل موجود
- query گرفتن از داده ها با استفاده از LINQ
- ذخیره کردن داده ها
- استفاده کردن از stored procedure ها و view ها و table-valued function های از قبل موجود
- انجام عملیات CRUD با استفاده از stored procedure ها
- پیاده سازی optimistic concurrency و پشتیبانی از تراکنش ها
- پشتیبانی کردن از spatial data type ها
- قابلیت connection resiliency
- ذخیره کردن و پرس و جو از داده ها به صورت asynchronous
- پیکربندی های code-based
- پشتیبانی از قابلیت database command logging
- پشتیبانی از قابلیت database command interception
- پشتیبانی از قابلیت dependency resolution
- متدهای AddRange و RemoveRange مربوط به کلاس DbSet
- پشتیبانی بهتر از تراکنشها
- استفاده از سرویسهای singularization و pluralization
- قابلیت های بهتر برای تست پذیری
- ایجاد کردن یک کلاس context با استفاده از یک connection باز
- بهبود performance برنامه
تکنولوژی Entity Framework یا (EF) یک Object Relational Mapper و یا ORM است که به صورت Open Source توسط مایکروسافت به منظور استفاده شدن در اپلیکیشن های ایجاد شده توسط Net. معرفی شده است، که با استفاده از آن برنامه نویس می تواند سطح تولید نرمافزار را شدیداً افزایش داده و بدون درگیر شدن با جزئیات مختلف مربوط به بانکهای اطلاعاتی، تمرکز خود را بر روی مباحث مربوط به Domain قرار دهد. بسیاری از مفاهیم مربوط به کار کردن با بانکهای اطلاعاتی رابطه ای و یا حتی غیر رابطه ای از قبیل جداول ستونها و رکورد ها توسط Entity Framework مدیریت میشود و برنامه نویس در یک محیط کاملا شیگرا و بدون نیاز به درگیر شدن با جزئیات بانک های اطلاعاتی می تواند کدهای دسترسی به داده خود را بنویسد و به راحتی می توان به بانکهای اطلاعاتی متصل شد، و دادههای مورد نیاز را از آن خواند و یا حتی دادههایی را بر روی آن نوشت.
درواقع Entity Framework یک لایه انتزاعی و یا Abstraction Lawyer برای برنامهنویس ایجاد میکند تا جزئیات مربوط به جداول و ستونها از دید وی مخفی شوند. این موضوع باعث می شود تا حجم کد نوشته شده توسط برنامه نویس به حداقل رسیده و موضوعاتی از قبیل قابلیت خواندن و یا Readability کد افزایش پیدا کند. در واقع با استفاده Entity Framework شما یک اتصال بین Business Entity ها و Datatable های موجود در دیتابیس ایجاد می کنید و روال ذخیره کردن داده ها که در پراپرتی های Entity قرار گرفته اند به سادگی برای جداول بانکهای اطلاعاتی و ستون های مربوط به آنها انجام می گردد. روال تبدیل شدن داده های درون Entity ها به دادههای درون سطرهای بانکهای اطلاعاتی نیز تا حدود بسیار زیادی به صورت خودکار توسط Entity Framework مدیریت خواهد شد و همچنین اجرا شدن کوئری های مورد نیاز برای ایجاد کردن داده های مورد نظر برنامهنویس نیز توسط Entity Framework بر روی بانکهای اطلاعاتی اتفاق خواهند افتاد.
مخاطبین این دوره آموزشی
تمامی برنامه نویسانی که در حوزه توسعه اپلیکیشن ها با استفاده از NET Core. و همچنین .NET Framework فعالیت دارند می توانند از این آموزش متنی استفاده کنند. برنامه نویسانی که قصد یادگیری مباحث مربوط به Entity Framework و به طور ویژه روش Database First را دارند مخاطبین این دوره آموزشی به حساب می آیند. اگر شما نیز با روش Code First در Entity Framework آشنا هستید و می خواهید تفاوت های آن با روش Database First را بررسی کنید قادر خواهید بود که به بهترین شکل ممکن از مطالب مطرح شده در این آموزش متنی بهره مند شوید.
پیش نیازها
برای درک هرچه بهتر مفاهیم مربوط به این دوره آموزشی می بایست دانش اندکی در رابطه با Entity Framework داشته باشید. در این رابطه توصیه می کنیم از آموزش رایگان 5 Entity Framework در سی شارپ و آموزش 5 Entity Framework در سی شارپ دیدن کنید. علاوه بر این موضوع، در صورت تمایل به یادگیری روش Code First در Entity Framework توصیه می کنیم از آموزش رایگان Entity Framework Code First نیز دیدن بفرمایید. تمامی دوستانی که قصد یادگیری Entity Framework Core را دارند می توانند از آموزش رایگان برنامه نویسی با Entity Framework Core دیدن کنند.