Selain menulis artikel Mengenal Teknologi Mobile Qt, gw juga menulis satu artikel di majalah PC Media edisi Maret 2011 yaitu topik Mengenal Entity Framework 4.0.

Apa Itu Entity Framework?
Pada bulan Juli 2008 Microsoft meluncurkan ADO.NET Entity Framework yang merupakan bagian dari Visual Studio 2008 Service Pack 1 dan .NET Framework 3.5 Service Park 1. Selain itu Microsoft juga memperkenalkan LINQ (Language Integrated Query). Hal ini menunjukkan Microsoft sangat serius untuk meningkatkan produktifitas produksi dalam membangun aplikasi. Kemudian Microsoft meluncurkan Entity Framework bersamaan dengan diluncurnya Visual Studio 2010 dan .NET Framework 4.0.
Apa itu Entity Framework? Entity Framework adalah sekumpulan teknologi ADO.NET yang membantu mapping antara pengembangan object-oriented dan database. Metode ini dikenal dengan ORM (Object-Rational Mapping). Kalau diteliti lebih dalam Entity Framework lebih sekedar dari ORM karena Entity Framework juga dapat bekerja sebagai ERM (Entity Relationship Model). Selain Entity Framework, kita juga dapat menjumpai solusi lain yaitu
- NHibernate. Solusi persistent .NET object ke relational database. NHibernate merupakan hasil porting dari Hibernate java ke .NET Framework
- SPRING.net. Framework berbasis open source yang merupakan hasil porting Spring Framework dimana ini memungkinkan kita untuk membuat komponen yang terintegrasi kedalam multi-tier application
Pada artikel ini penulis akan memaparkan bagaimana memanfaatkan Entity Framework dalam pengolahan database secara object-oritented.
Database vs Model
Programmer .NET pasti sudah familiar dengan objek DataReader dan DataSets untuk melakukan koneksi ke database dan melakukan melakukan query data kedalamnya. Sebagai ilustrasi kita lihat potongan kode program untuk melakukan koneksi dan query kedalam database SQL Server:
using (SqlConnection conn = new SqlConnection(@"server=(local);Database=Northwind;UID=tester;PWD=123"))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM Products";
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
// Ambil data
}
}
}
}
Dengan menggunakan Entity Framework, kita tidak lagi kuatir mengenai database malahan kode program kita jauh lebih sederhana dan kita melakukan query ke tabel tapi query ke objek (entitas) yang mewakili business model. Hasil query-nya adalah objek dan tidak seperti yang dulu sibuk dengan konfigurasi row dan column yang di bind ke objek.
Sebagai ilustrasi, skema database Northwind untuk tabel product, categories, dan suppliers dapat dilihat pada gambar 1. Sedangkan hasil model mapping dengan Entity Framework akan menghasil class diagram seperti pada gambar 2. Dengan pendekatan ini, kita sudah tidak melakukan query sql pada kode program kita tapi kita melakukan query ke objek, contohnya sebagai berikut
using (var context = new NorthwindEntities())
{
var products = from p in context.Products select p;
}
Teknik query objek ini dengan memanfaatkan LINQ.

Gambar 1

Gambar 2
Persiapan
Kita tidak perlu melakukan persiapan yang komplek. Seperti kita ketahui bahwa Entity Framework adalah bagian dari .NET Framework 4.0 oleh karena itu ketika komputer kita sudah terinstall .NET Framework 4.0 maka kita dapat langsung memanfaatkan framework ini.
Sedangkan untuk tool IDE, kita dapat menggunakan Visual Studio 2010 yang memang sudah terintegrasi dengan target .NET Framework 4.0. Database yang digunakan adalah SQL Server. Jika pembaca ingin memanfaatkan Entity Framework untuk database selain SQL Server maka kita harus menginstall tambahan Entity Framework dari database ini. Umumnya pembaca dapat mengunduh di website database tersebut.
Lebih lengkapnya dapat dibaca pada majalah PC Media edisi Maret 2011.

Semoga berguna