Entity Framwork در سی شارپ، سریع ترین راه برای کار با پایگاه داده

تاریخ بروزرسانی : شنبه 4 مرداد 1399

تعداد بازدید : 38

زمان خواندن مقاله : 5 دقیقه

تا چه حد درباره Entity Framework در سی شارپ اطلاعات دارید؟ اگر می خواهید آن را بشناسید با ما همراه شوید.

Entity Framwork در سی شارپ، سریع ترین راه برای کار با پایگاه داده

اهمیت یادگیری Entity Framwork در سی شارپ

امروز می خواهیم به بحث Entity Framework در سی شارپ بپردازیم اما قبل از آن باید به مفهوم یک کلمه به نام Orm برسیم. در زمان های دور یک برنامه نویس وقتی در محیط های برنامه نویسی مختلف کار میکرد دو قسمت کد نویسی داشت:1. نوشتن خود کدهای برنامه با یکی از زبان های برنامه نویسی، 2. استفاده از شیوه های قدیمی یا سنتی برای دسترسی به اطلاعات DBMS یا عمل Query گرفتن که باید به شکل SQL نوشته می شد و این کار را خیلی خیلی سخت میکرد تا اینکه ORM وارد کار شد. ORMدر واقع ابزاری است که به برنامه نویس میگه ، کاری به نوشتن Query های دیتابیس ها نداشته باش ، کد مورد نظرت را بنویس و بده به من؛ من هم  به عنوان واسط بین کدها و دیتابیس میام و Query ها را تولید می کنم و اینجوری باعث میشه دنیا برای برنامه نویس ها بسیار زیباتر بشه چرا؟چون  دیگر نیازی نیست که شما درگیر کدهای SQL عجیب و غریب بشید و اینکار را به عهده ORM می گذارید.
پس ORM عملا یک لایه مترجم بین زبان برنامه‌نویسی و پایگاه داده رابطه‌ای است که این دو را به هم تبدیل می‌کند.

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


NHibernate و Entity Framework برای زبان C#
eloquent orm که در فریمورک Laravel وجود دارد برای زبان PHP
Hibernate  برای زبان Java
SQLAlchemy برای زبان Python

تاریخچه Entity Framework در .Net :


تا اینجا فهمدیدم که ORM چیست وانواع ان کدامند. همان طور که در ابتدای مطلب هم گفتیم ما می خواهیم به بحث Entity Framework در سی شارپ بپردازیم. جالب است بدانید که مایکروسافت قبل از ارائه Entity Framework ، برای اتصال به پایگاه داده، کار خود را با تکنولوژی ADO.NET آغاز کرد و نسخه های مختلفی از این تکنولوژی را عرضه کرد. بنابراین تعجبی ندارد که تمامی تکنولوژی های ارائه شده برای اتصال به پایگاه داده، با نام ADO.NET آغاز می شوند. بعد از این تکنولوژی، مایکروسافت در ۲۰۱۰ visual studio مفهومی با نام LinqToSql را مطرح کرد. هدف مایکروسافت از ارائه این تکنولوژی، اتصال به هر نوع منبع داده با یک روش یکسان بود. تکنولوژی های ADO.NET و ADO.NET LingtoSql به صورت From Database هستند. با گسترش و استفاده برنامه نویسان از مفاهیم شی گرایی، کمبودی در زمینه کار با پایگاه داده به صورت شی گرایی حس شد چرا که تا آن زمان تکنولوژی های ارائه شده برای اتصال به پایگاه داده توسط مایکروسافت به صورت کامل این امکان را نداشتند که با پایگاه داده به صورت شی گرایی کار کنند.

تا اینکه Entity به عنوان یک فریم ورک برای پیاده سازی تکنیک برنامه نویسی شی گرایی معرفی شد. درواقع Entity Framework    تکنولوژی توسعه یافته ADO.Net  است که فاصله بین برنامه نویسی شی گرایی و بانک اطلاعاتی رابطه ای را پر می کند و هدف از این تکنولوژی به حداقل رساندن مشکلات و نقایصی چون به خوبی انجام نگرفتن تبدیل نوع در فراخوانی از جداول  در SQL، کاهش سرعت برنامه و ایجاد مشکل بخاطر اجرای چند باره دستورالعمل ها و خوب انجام نشدن پروسه  Cash  شدن دستورالعمل ها در SQL در روش های قبل مانند  Ad-Hoc, Parametric  و Stored Procedure  از کلاس های کتابخانه ADO.NET بود. 


حالت های پیاده سازی Entity Framework در سی شارپ:


اینکار به سه روش انجام می شود:


1.    Database First  :


این روش قدیمی ترین روش طراحی در Entity Framework می باشد که در اولین نسخه این فریم ورک ارائه شد. برای استفاده از این روش، ابتدا پایگاه داده طراحی می شود.


2.    Model First :


برای اولین بار این روش در نسخه ۲۰۱۰ Visual studio پشتیبانی شد. وقتی بخواهیم سیستم را از روی مدل پیاده سازی کنیم و پس از آن کدنویسی و ایجاد پایگاه داده را انجام دهیم از روش Model First استفاده می کنیم .


3.    Code First:


اگر از قبل، ماژول ها و کلاس های برنامه را آماده داشته باشیم و یا ابتدا قصد کدنویسی داشته باشیم از روش Code First  استفاده می کنیم.

 

مزایای استفاده از Entity Framework در سی شارپ:

1.    آسان کردن تغییر بانک اطلاعاتی:
وقتی شما با یک بانک اطلاعاتی مثل SQL Server  کار می کنید و بعد از گذشت یک مدت میخواهید بانک اطلاعاتی خود را از SQL Server  به  SQLight تغییر بدید این کار را برای ما به راحتی انجام می دهد.
2.    کوئری نویسی با استفاده از  LINQدر Entity Framework:
با کوئری نویسی از طریق LINQ خطر حمله SQL Injection  تقریبا به صفر می رسد.
3.    چند سکویی بودن
یعنی قابلیت اجرا روی سیستم عامل های مختلف مثل Mac و Linux را داراست.
4.    پشتیبانی از اکثر بانک های اطلاعاتی
5.    OpenSource  بودن و کاهش زمان برنامه نویسی
6.    آسان کردن query های پیچیده با خاصیت  Navigation Property  
7.    تفکیک و طبقه بندی قسمت های مختلف نرم افزار با هدف درک بهتر برای انجام تغییر به وسیله برنامه نویس

8.    توانایی ارتباط قدرتمند با LINQ برای انجام CRUD

کلام آخر:


دوستان عزیز امیدوارم که توانسته باشم ،شما را با تکنولوژی Entity Framework در سی شارپ آشنا کنم. راستی اگر بخوام به کاربردهای آن هم اشاره کنم، می توان: اتوماسیون تحت وب و ویندوز، نرم افزار شرکت های پخش مویرگی و نرم افزارها و وب سایت فروشگاهی را نام برد.
افرادی  که می خواهید این تکنولوژی را به صورت کاربردی یاد بگیرید، بدانید و آگاه باشید که قبل از آن باید با مفاهیمی چون شی گرایی و کار با ADO.Net سنتی را بلد باشید و اگر آشنا نیستید، نگران نباشید می توانید از آموزش سی شارپ ما که در سایت برایتان قرار داده ایم بهره ببرید.
از اینکه  ما را همراهی کردید سپاسگذاریم.

 


اشتراک گذاری

کلمات کلیدی :
سی شارپ

توضیحاتی در مورد نویسنده این مقاله :
مرضیه فتاحی مرضیه فتاحی

کارشناس کامپیوتر گرایش نرم افزار..... نویسندگی،تجربه ای انفرادی است یعنی به اشتراک گذاری.... این بخشی از ذات انسان است که بخواهد مسائل را به اشتراک بگذارد ازجمله:افکار،ایده ها،عقاید


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

گروه مقالات


آموزشی
46
علمی
22
تحقیقاتی
37
به مقاله امتیاز دهید.
لطفا برای امتیازدهی وارد شوید.
: میانگین امتیاز دوره


به دنبال هر آموزشی هستید در اینجا به دنبال آن باشید .