تکنولوژی Entity Framework یک تکنولوژی Open Source است که برای برنامه های دات نت مورد استفاده قرار می گیرد. این تکنولوژی توسط مایکروسافت پشتیبانی می شود. در واقع Entity Framework به توسعه دهندگان این امکان را میدهند که با داده های برنامه خود در Object هایی از Domain Class ها کار کنند و نیازی به درگیر شدن با جداول بانک های اطلاعاتی و دنیای Relational نداشته باشند. با استفاده از Entity Framework توسعه دهندگان می توانند در سطح بالاتری از Abstraction با داده ها کار کنند و برنامه های Data Orientated را با راحتی بیشتری ایجاد و نگهداری کنند و نیازی به نوشتن کدهای مربوط به برنامه های سنتی کار با داده ها نداشته باشند. در واقع با استفاده از Entity Framework توسعه دهندگان نیاز به نوشتن کد کمتری دارند.
تکنولوژی Entity Framework چیست؟
تکنولوژی Entity Framework ابتدا در سال ۲۰۰۸ توسط مایکروسافت، معرفی شد. رسالت اصلی این تکنولوژی برقراری یک ارتباط مؤثر، بین اپلیکیشن های ایجاد شده با فریم ورک دات نت و بانک های اطلاعاتی رابطه ای است. تکنولوژی Entity Framework در واقع، یک ORM که مخفف Object Relational Mapper می باشد، است. رسالت ORM ها، به عنوان یک ابزار، ساده تر کردن نگاشت بین Object ها در یک فضای شی گرا و Table ها و ستون های مربوط به بانک های اطلاعاتی رابطه ای، می باشد.
گفتنی است که استفاده کردن از ORM ها، سربار هایی را به برنامه تحمیل می کند. بنابراین، برخی از افراد تمایل دارند که از ADO.NET در برنامه های ایجاد شده با فریم ورک دات نت استفاده کنند. در این رابطه می توانید اطلاعات بیشتری را در آموزش ADO.NET و دیتابیس ها در سی شارپ بدست بیاورید. تکنولوژی Entity Framework که به صورت کوتاه به آن EF نیز می گویند، یک ORM بسیار Open Source است که بخشی از فریم ورک دات نت می باشد و به صورت درونی از ADO.NET استفاده می کند. رسالت ORM ها ایجاد کردن Database Connection ها و اجرا کردن Command ها و البته، دریافت کردن Query Result ها و در نهایت، تبدیل کردن این Query Result ها به صورت خودکار به Object های درون یک برنامه شی گرا است.
چرا می بایست از Entity Framework استفاده کنیم؟
همانطور که گفته شد Entity Framework به عنوان یک ORM عمل می کند و رسالت ORM ها افزایش سطح توانمندی ها و تولید کد یک برنامه نویس می باشد. به عبارت دیگر، یک ORM با کاهش حجم وظایف پیش پا افتاده ذخیره کردن و بازیابی دادهها در بانکهای اطلاعاتی کمک می کند که برنامه نویس وقت و تمرکز خود را بر روی مسائل مهم تر قرار داده و درگیر جزئیات پیاده سازی یک Persistence Layer و یا لایه ذخیره سازی داده ها در دیتابیس نماند.
یکی از کارهایی که Entity Framework انجام می دهد تولید Command های ضروری کارکردن با دیتابیس و خواندن و نوشتن داده ها در دیتابیس می باشد. اجرا کردن این دستورها بر روی دیتابیس نیز توسط ORM به سادگی انجام می پذیرد. یکی دیگر از جذابیت های کارکردن با Entity Framework این است که شما می توانید Query های مورد نظر خود را برای بازیابی رکوردهای درون دیتابیس با استفاده از LINQ پیاده سازی کنید. زبان LINQ که مخفف Language Integrated Query می باشد یک زبان پرس و جوی داده است که می توانید جزئیاتی بیشتر در رابطه با آن را در آموزش LINQ در سی شارپ دریافت کنید.
نگاشت کردن Query Result های برگردانده شده از دیتابیس و تبدیل کردن آنها به Domain Object هایی که برنامه شی گرای شما بتواند با آنها کار کند نیز از وظایف یک ORM به حساب می آید. اصطلاحاً، به این روش، Materialize کردن می گویند. البته، علاوه بر Entity Framework به عنوان ORM اصلی که در اپلیکیشن های دات نت، نیز مورد استفاده قرار میگیرد، ORM های دیگری نیز از قبیل NHibernate وجود دارند که می توانید در آموزش کار با NHibernate در سی شارپ، جزئیات بیشتری را در رابطه با آن مطالعه کنید. علاوه بر استفاده کردن از این دوره آموزشی متنی، توصیه میکنیم از آموزش رایگان Entity Framework Code First و آموزش رایگان Entity Framework Database First، نیز دیدن نمایید.
مخاطبین این دوره آموزشی
تمامی برنامه نویسانی که تجربه کار کردن با دات نت فریم ورک و زبان برنامه نویسی سی شارپ را دارند میتوانند از این آموزش متنی استفاده کند. در این آموزش متنی مباحثی مطرح میشوند که اساس و بنیاد دانش و مهارت شما برای استفاده کردن از Entity Framework و Entity Framework Core را ایجاد خواهند کرد. بعد از استفاده کردن از این دوره آموزشی می توانید از آموزش رایگان Entity Framework Code First و آموزش رایگان Entity Framework Database First نیز دیدن کنید.
پیش نیازها
برای یادگیری مباحث مربوط به این دوره آموزشی می بایست اطلاعات ابتدایی را در رابطه با زبان برنامه نویسی سی شارپ داشته باشید. تجربه شما در کار کردن و شناخت اندکی در رابطه با Entity Framework نیز میتواند بسیار کاربردی باشد. موضوعات مربوط به این دوره آموزشی درستور بسیار ابتدایی قرار گرفتند. در کنار این دوره آموزشی توصیه می کنیم از آموزش رایگان 5 Entity Framework در سی شارپ نیز دیدن کنید. این دوره آموزش ویدئویی نیز میتواند به صورت خیلی ابتدایی شما را با موضوعات مربوط به Entity Framework آشنا کنند.