API مربوط به Entity Framework حاوی قابلیت هایی برای Map کردن Domain Entity ها به Database Schema است. ترجمه کردن و اجرای دستورات LINQ به دستورات SQL و ردگیری تغییراتی که بر روی Entity ها در زمان طول عمر آنها رخ می‌ دهد (که با نام Change Tracking شناخته می‌ شود) و نهایتاً ذخیره کردن این تغییرات بر روی دیتابیس از دیگر قابلیت های Entity Framework است.

تعریف Entity Data Model

اولین وظیفه ی API مربوط به Entity Framework ساختن Entity Data Model است. Entity Data Model یا EDM یک نمایش درون حافظه ای از تمام متا دیتای مربوطه که شامل Conceptual Model و Storage Model و Mapping های بین آنها است می باشد.

تعریف Storage Model


در Entity Framework این مدل بر اساس Schema بانک اطلاعاتی که قرار است با آن کار کنید ساخته می شود. در روش Code First این مدل بر اساس Conceptual Model ساخته خواهد شد. در روش Database First این مدل بر اساس بانک اطلاعاتی مورد استفاده ساخته می شود.

Queryگرفتن

در Entity Framework دستورات LINQ به دستورات SQL تبدیل شده و آنها برای اجرا به سمت بانک اطلاعاتی ارسال می شوند. این قضیه توسط EDM انجام می شود. علاوه بر این نتایج اجرای دستورات SQL بر روی بانک اطلاعاتی تبدیل به Entity Object ها می ‌شود و در درون فضای برنامه نویسی شی گرای شما مورد استفاده قرار می گیرند.

ذخیره کردن تغییرات

در Entity Framework دستورات INSERT و UPDARE و DELETE ای که بر اساس State مربوط به Entity ها لحاظ می شود در زمان فراخوانی متد SaveChanges بر روی بانک اطلاعاتی اجرا می‌کنند. Entity Framework مکانیزم Change Tracking مربوط به هر کدام از Entity ها را در نظر گرفته و در زمان صدا زدن متد SaveChanges تغییرات رخ داده بر روی آنها را به سمت بانک اطلاعاتی ارسال می‌کند.

منبع:وبسایت پرووید