ORM merupakan kependekan dari Object Relational Mapping, kadang ditulis dengan O/RM atau O/R mapping. ORM adalah teknik pemrograman yang mengandung sekumpulan kelas yang memetakan entitas database relasional ke dalam objek bahasa pemrograman tertentu (Mike Liu, 2008). ORM hanyalah salah satu mekanisme aplikasi untuk mengakses database.

 

Gambar Berbagai cara untuk mengakses database, salah satunya menggunakan ORM

Dengan ORM, setiap database direpresentasikan oleh konteks objek ORM di dalam bahasa pemrograman tertentu, dan entitas database seperti tabel direpresentasikan oleh kelas dengan relasi antar kelas. Sebagai contoh, ORM akan membuat kelas Order untuk merepresentasikan tabel Order. Kelas Order akan memiliki sekumpulan member yang memegang detail dari tabel Order. ORM bertanggung jawab terhadap koneksi dan pemetaan antara kelas dengan database. Sehingga bagi aplikasi, database sekarang sudah direpresentasikan penuh oleh kelas tersebut. Aplikasi hanya perlu berurusan dengan kelas tersebut daripada dengan database fisik. Aplikasi tidak perlu mengkhawatirkan tentang bagaimana terhubung ke database, bagaimana membangun pernyataan SQL, bagaimana mekanisme penguncian, dan sebagainya, hal ini karena aktivitas terkait database sudah diurusi oleh ORM.

 

Entity Framework merupakan salah satu produk ORM buatan Microsoft yang merupakan komponen dalam .NET Framework 3.5 (sudah ada sejak .NET Framework 3.5). Jika ORM itu adalah konsepnya, maka Entity Framework ini adalah sebuah produk library/tools yang menggunakan konsep ORM. Entity Framework merupakan sebuah lapisan object persistence yang menyertakan peralatan object/relational mapping (O/RM) untuk mensubstitusi skema basis data relasional dengan diagram object graph (Roger Jennings, 2009). Entity Framework akan melakukan pemetaan dari basis data relasional ke dalam model objek. Objek tersebut dapat diakses melalui Entity SQL maupun menggunakan LINQ. Entity SQL berupa query untuk entity yang menggunakan dialek SQL, dan memiliki sintaksis yang sama untuk semua tipe basis data. Sedangkan LINQ kependekan dari Language Integrated Query, merupakan metodologi pemrograman yang mentransformasi hubungan antara program dan data, memungkinkan untuk meng-query berbagai tipe data dengan sintaks tunggal yang mirip Structured Query Language (SQL).

Dengan menggunakan Entity Framework dan Linq, model data dari database relasional dipetakan ke model objek yang diekspresikan ke dalam bahasa pemrograman developer. Ketika aplikasi berjalan, Entity Framework runtime akan mentranslasikan language-integrated query di dalam model objek ke bentuk SQL, dan mengirimkannya ke database untuk eksekusi. Ketika database mengembalikan hasil eksekusi, Entity Framework runtime akan mentranslasikan hasilnya kembali ke bentuk objek. Entity Framework mendukung penuh transaksional, view, stored procedure, dan user-defined function.

 

 

Referensi:

Jennings, Roger. 2009. Professional ADO.NET 3.5 with Linq and Entity Framework. Wrox Publishing.

Liu, Mike. 2008. WCF Multi-tier Services Development with LINQ. Packt Publishing.



3 responses to “Apa Itu ORM (Object relational Mapping)”

Leave a Reply

Your email address will not be published. Required fields are marked *

Search

Welcome

Bayu Pratama R N is a lonely programmer who is very enthusiastic about .NET. He just try to live a life of a programmer life and write a blog post when he is so sick about love.

Gallery