# Object Relation Mapping

**ORM; veritabanı ile uygulama arasında köprü görevi görü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ştiren bir yapıdır. ORM ler ADO.Net prencipleri ile çalışırlar.

Tüm dillerin kendilerine göre ORM Ferameworkleri bulunmaktadır.

* **C#:** Entity Framework,  Dapper, ECO, XPO, Norm
* **Java**: Hibernate, Ebean, Torque, JPA,MyBattis
* **Php**: CakePHP, Codelgniter, RedBean, Doctrine,Propel, PdoMap
* **Python**: Django, South,Storm

![](https://2510487821-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO29WVIoUuc3uBPrU4f%2F-MOUTWRxdN1GWFPVU-yc%2F-MOUWuNxwI9TSP1Klac1%2FORM.jpg?alt=media\&token=4e750631-0c7d-48a7-aaa8-56fe928ff7c3)

ORM kullanmanın faydaları;&#x20;

* OOP mimarisine uygun kod yazma imkanı verir
* Minumum sql sorgusu ile işlem yapmamızı sağlar
* Kod yazma süresini azalırken kod okunabilirliği artmaktadır.
* Çok daha iyi test edilebilir kod yazmamızı sağlar.
* Yazılan kodun veritabanı çeşidiyle bağımlılığı yoktur. (Oracle, SQL Server, MySQL vs)
* SQL/JDBC bilmenize/yazmanıza gerek kalmadan çok kısa bir zamanda ve de çok daha az kod ile veritabanına bağlı bir uygulama yapabilirsiniz.
