Mengenal Entity Framework 4.0

by Agus Kurniawan 18. March 2011 09:20
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

Tags:

Papers | .NET | Database

*.MDF cannot be opened becauses it is version 655. This server support version 612 and earlier.

by Agus Kurniawan 8. June 2010 12:46
Suatu ketika gw membuat suatu project ASP.NET pada Visual Studio 2008. Didalam project ASP.NET, gw menambahkan database file (*.MDF). Selang beberapa jam kemudian, gw mau mengedit database file (*.MDF) ini melalui SQL Server 2008 Management tool. Setelah selesai mengedit selalunya gw detach database file (*.MDF) dari SQL Server 2008 Management tool. Pada saat gw membuat database file (*.MDF) ini melalui Visual Studio 2008 tiba-tiba muncul error *.MDF cannot be opened becauses it is version 655. This server support version 612 and earlier. A downgrade path is not support. error tampilannya seperti dibawah ini Permasalahan Permasalahan ini terjadi dikarenakan di komputer gw terinstall SQL Server 2005 dan SQL Server 2008. Pada saat gw menambah database file (*.MDF) ke Visual Studio 2008 maka database file ini dibuat sebagai database file format SQL Server 2005. Ketika database file (*.MDF) dibuka oleh SQL Server 2008 Management tool maka database file ini dikonversi ke format SQL Server 2008. Oleh karena itu, ketika Visual Studio 2008 membuka database file akan mengalami error diatas. Solusi Solusinya cukup sederhana dimana kita paksa Visual Studio 2008 menggunakan format database file dalam SQL Server 2008. Ketika kita menambahkan database file maka Visual Studio 2008 membuat database file dalam format SQL Server 2008. Caranya memaksa Visual Studio 2008 agar membuka database file dalam format SQL Server 2008 yaitu melalui menu Visual Studio 2008, pilih menu Tools->Options . Selanjutnya muncul kotak dialog. Lakukan konfigurasi seperti gambar dibawah ini Di komputerku, nama instance SQL Server 2008 Express adalah SQLExpress2008. Jika selesai, klik tombol OK. Sekarang coba diulangi lagi dan bebaslah dari error yang tadi. Semoga Berguna.

Tags:

Database | IT Pro

SQL Server 2008 Integration Services

by Agus Kurniawan 14. September 2009 21:36
Pusing mengintegrasikan berbagai format data dengan bebergai sumber data? Atau pusing juga membersihkan data pada database yang bikin kotor? SSIS memungkinkan untuk menyelesaikan permasalahan anda ini. Pada majalah PCMedia bulan Oktober 2009, gw menulis mengenai SQL Server 2008 Integration Services. Dengan tool ini permasalah diatas dapat diatasi. SQL Server Integration Services (SSIS) adalah suatu platform untuk membangun sistem yang handal untuk integrasi data, solusi workflow termasuk extraction, transformation, dan loading (ETL) yang banyak digunakan pada data warehousing. SSIS pada SQL Server 2008 menawarkan solusi dalam menghadapi permasalahan data integrasi dan cleansing. Tool ini disediakan dalam graphical dan wizard dalam pembuatan aplikasi dan debugging. Berbagai komponen pendukung dari SSIS SQL Server 2008 diperuntukan untuk meningkatkan efisiensi terutama waktu pembuatan. Tantangan Integrasi Data Integrasi data adalah salah satu permasalahan yang sering dihadapi apalagi perusahan besar berbasis B2B. Aplikasi yang umumnya berbasis data warehouse atau business intelligence akan banyak menghadapi masalah integrasi data ini. Permasalahan ini biasanya diawali dengan sumber data itu sendiri. Data ini dapat berasal dari suatu transaksi seperti konsumen membeli dan membayar produk. Data yang disimpan kadang kalanya disimpan pada database atau data file klasik. Malahan ada data yang disimpan dalam format XML seperti data yang berasal dari web service. Dari sumber data inilah timbul suatu permasalahan dan tantangan seperti: Multi source dengan berbagai format data Data bertipe structured, semi-structure dan unstructured Data yang berasa dari sistem yang hanya ada pada waktu tertentu Data yang jumlah volume yang banyak Permasalahan ini yang ingin diselesaikan oleh SSIS. Fitur ini tidak hanya bertindak sebagai integrasi data tetapi juga dapat bertindak sebagai batch processing yang dapat dijadwalkan sesuai kebutuhan. Ini dapat diilustrasikan seperti gambar dibawah Arsitektur SSIS SQL Server 2008 SSIS SQL Server 2008 secara umum berisi berbagai macam komponen seperti yang tergambar pada gambar 2. Beberapa komponen pendukung SSIS SQL Server 2008 antara lain SSIS Designer. Ini merupakan tool yang digunakan untuk membuat dan mengatur paket integration service. Pada SSIS SQL Server 2008, tool ini sudah terintegrasi dengan Visual Studio 2008 yang merupakan bagian project Business Intelligence. Contoh SSIS designer dapat dilihat pada gambar dibawah. Runtime engine. Komponen ini berguna untuk menjalankan semua paket SSIS yang sudah dibuat. Tasks dan executable binary. Setiap paket SSIS terdiri dari paket, container, task dan event handler. Ini termasuk custom task yang kita buat melalui SSIS designer. Data Flow engine dan Data Flow. Komponen data flow task merupakan enkapsulasi data flow engine yang menyediakan buffer didalam memory dan betugas memindahkan data dari sumber data ke tujuan data. Sedangkan data flow merupakan sumber data, tujuan data, dan transformasi. Didalam data flo ini kita juga dapat melakukan kustomisasi. API atau object model. SSIS SQL Server 2008 menyediakan object model yang didalam ada managed API untuk membuat custom component yang dapat digunakan didalam paket SSIS. Integration Services Service. Ini memungkinkan SQL Server Management Studio dapat digunakan untuk melakukan monitoring paket SSIS dan mengatur SSIS storage yang digunakan. SQL Server Import dan Export Wizard. Tool ini berguna untuk melakukan copy data dari sumber ke tujuan data. Tool ini juga tersedia OLE DB Provider yang memungkinkan aplikasi .NET untuk melakukan proses ini. Bagaimana dengan instalasi, pembuatan aplikasi SSIS. debugging dan deployment? lebih detailnya dapat dibaca majalah PC Media edisi Oktober 2009

Tags:

Database | Papers

Free E-book "Writing High Performance SQL Code"

by Agus Kurniawan 19. August 2009 16:14
Bagi anda yang ini memperdalam bagaimana membuat script sql yang baik dan berdasarkan best practices sehingga sql code ini dapat menghasilkan high performance. Redgate menyediakan free e-book mengenai Writing High Performance SQL Code secara gratis. Anda bisa mengunduhnya di http://www.red-gate.com/specials/Grant.htm

Tags:

Books | Database

Buku Trilogi Clustering Technology

by Agus Kurniawan 17. August 2009 07:43
Seperti yang sebelumnya gw tulis di blog mengenai dua buku yang semua bercerita tentang clustering: Windows Server 2008 R2 Clustering SQL Server 20008 Clustering Sebenarnya ada satu lagi buku mengenai clustering yang akan gw tulis yaitu Web Server Clustering. Buku ini akan memaparkan mengenai clustering pada Web Server baik NLB maupun Failover Clustering. Web Server yang digunakan adalah IIS 7.5 yang running diatas Windows Server 2008 R2 Clustering. Buku Trilogi Clustering Yeah, anda tidak salah membaca. Gw sudah lama ingin membuat buku trilogi Clustering yang membahas skenario clustering pada Windows. 3 Buku yang gw ditulis adalah Windows Server 2008 R2 Clustering SQL Server 20008 Clustering Web Server Clustering Ide buku trilogi clustering karena sedikitnya informasi mengenai teknologi clustering. Diperburuk lagi tidak semua mempunyai kesempatan untuk implementasi atau mengerjakan project berbasis clustering. Sharing ilmu inilah diharapakan dapat meningkatkan stimulasi untuk lebih giat belajar. 3 buku ini dirancang untuk para admin dan IT pro untuk membantu deployment teknologi clustering dari Microsoft. Semoga semuanya bisa kelar sebelum akhir tahun 2009. Harus bisa

Tags: , ,

Books | Database | Windows

SQL Server 2008 Clustering

by Agus Kurniawan 17. August 2009 07:27
Setelah seleseai RTM buku Windows Server 2008 R2 Clustering, next plan adalah menulis buku mengenai SQL Server 2008 Clustering yang mana berjalan diatas Windows Server 2008 R2 Failover Clustering. Buku ini dirancang untuk para admin atau IT pro dalam melakukan deployment SQL Server 2008 Clustering sehingga mempermudah proses deployment. Buku ini akan full Hands-on-Lab (HOL). Berikut garis besar daftar isinya: 1. Mengenal SQL Server 2008 2. Persiapan SQL Server 2008 Clustering 3. Instalasi dan Deployment SQL Server 2008 Clustering 4. Manajemen SQL Server 2008 Clustering 5. Uninstall SQL Server 2008 Clustering -------------- Untuk memahami isi buku ini, pembaca harus sebelumnya memahami Windows Server 2008 R2 Clustering karena pada buku ini tidak membahas mengenai ini. Disarankan untuk membaca buku yang saya tulis Windows Server 2008 R2 Clustering Progress buku ini dapat dilihat di blog ini, semoga bermanfaat

Tags: , ,

Books | Database | Windows

Script Task pada SSIS SQL Server 2008 sudah dapat dicoding dengan C#

by Agus Kurniawan 27. July 2009 23:58
Bagi pencinta SSIS SQL Server, sekarang para programmer C# dapat melakukan coding dengan bahasa C# pada Script Task. Sebelumnya SSIS SQL Server 2005, script task hanya dapat menggunakan bahasa VB.NET. Gw sendiri punya pengalaman buat script task ini pada SSIS SQL Server 2005 dengan VB.NET pada suatu project di bangkok. Kalaupun mau menggunakan C# maka kita membungkusnya dalam DLL yang kemudian digunakan VB.NET pada script task SSIS SQL Server 2005. Sekarang back to your mother language

Tags:

Database

Changing Database Design Prevention of SQL Server 2008 Features in Development Environment looks “bad idea”

by Agus Kurniawan 25. July 2009 19:31
Bagi rekan-rekan yang sering bekerja di SQL Server 2005 dan kemudian bekerja di SQL Server 2008. Pada suatu saat anda ingin mengubah tabel pada suatu database di SQL Server 2008 misalkan ada penambahan field baru pada tabel Customer. Setelah melakukan perubahan field kemudian anda simpan perubahan tabel Customer dan upps…ada warning seperti dibawah ini Apa-apaan ini?!!! berulang-ulang anda simpan perubahan field ini akan selalu muncul kotak dialog peringantan tersebut. Well, ini fitur baru pada SQL Server 2008. Secara default SQL Server 2008 mempertahankan database design supaya tidak menganggu database yang sedang berjalan so kalau merubah harus melakukan drop table dan kemudian cretae table serta update database relationship (kalau ada)..…oic, oic oic , tapi what’s tunggu dulu!! kalau untuk SQL Server 2008 yang berjalan di production memang fitur ini sangat membantu agar konsisten database design tetap terjaga tapi kalau di development? seperti kita ketahui, di development perubahan database akan sering terjadi apalagi yang suka plin-plan project nya . So fitur ini sangat tidak cocok sekali !!!….   Mematikan Fitur Ini Microsoft team bukan orang bodoh yang sembarang membuat fitur yang beginian dan mereka sadar fitur bisa menjadi polemik kedepannya. Tidak suka dengan fitur ini? Microsoft memberikan opsi untuk mematikan, caranya? klik menu Tools->Options sehingga akan muncul kotak dialog Options. Klik bagian Designers->Table and Database Designers seperti dibawah ini Lakukan tidak mencentangnya (unchecked) pada Prevent saving changed that require table re-creation. Setelah selesai klik tombol OK. Nah, setelah itu lakukan penyimpanan table dan boom, sekarang bisa… Kalau udah begini…siap deh menghadapi project plin-plan dengan perubahan database design nya

Tags:

Database