# Entity Framework

**EntityFramework**; Microsoft tarafından geliştirilen .Net tabanlı bir ORM “Object Relational Mapping” aracı ve uygulama ile veritabanı arasında köprü olan bir yapıdır. Veri tabanındaki table'ları class'lara, kolonları property'lere , kayıtları objelere dönüştürerek uygulmanın direkt olarak veritabanına erişmesine gerek kalmadan tüm veri tabanı işlemlerini gerçekleştirir. Böylece veritabanındaki işlemler SQL kodları yazılmadan Linq isimli sorgular ile kolayca yapılabilir.Entity Framework bir ORM aracıdır ve Ado.net mantığı ile çalışır.

![](https://2510487821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO29WVIoUuc3uBPrU4f%2F-MO7ZrMg_nDNetG8obIg%2F-MO7_HAGRKwiPo2_rLtI%2FEntityFramework.png?alt=media\&token=2dd2d1f2-0be8-49f9-bd1c-e8f95120e604)

Entity Framework bizim yazmamız gereken Database Code'larını  "Code Generating " tekniği ile otomatik olarak üretir.

Entity Framework yetenekleri 3 farklı biçimde uygulanabilmektedir;

1. **Database First;** Bu yöntemde halihazırda database hazır olan veritabanı projeye bağlanır ve gerekli class'lar EntityFramework tarafından oluşturulur.
2. **Code First;** Bu yöntemde classlar ve mapping kodları yazılımcı tarafından yazılır ve Daha sonra veri tabanı bu classlardan türetilir.
3. **Model First;** Bu yöntemde Model dosyası visiual studio üzerinden oluşturulur. Oradan database e aktarılır. &#x20;

![](https://2510487821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO29WVIoUuc3uBPrU4f%2F-MOUTWRxdN1GWFPVU-yc%2F-MOUX6N7OcnpHp9v07IW%2FEntity_Framework3propertiy.jpg?alt=media\&token=d03d2880-76ff-4108-942c-680461bd4d22)

**Linq to Sorguları ;** nesneleri sorgulamada kullanacağımız sorgulama dilidir. Bu alanda yazılan sorgular Entity Framework aracılığı ile SQL sorgularına dönüşür. &#x20;
