Software developer yang fokus mengembangkan aplikasi di atas platform .NET dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Continuous Integration & Deployment dan arsitektur Microservice.
Setelah selesai melakukan mapping, baik secara manual atau menggunakan tool seperti ADO.NET Entity Data Model Designer dan Entity Framework Power Tools, kita bisa langsung mencoba method-method dasar aplikasi database yang dikenal dengan istilah method CRUD seperti Save, Update, Delete dan Get.
Ingat tujuan kita menggunakan ORM seperti Entity Framework dalam pengembangan aplikasi database adalah agar kita tidak lagi berhubungan secara langsung dengan database berikut objek-objeknya seperti tabel, view dan objek database lainnya, sehingga bisa lebih fokus ke aturan bisnis dari aplikasi yang sedang dikembangkan.
Dalam paradigma OOP, semuanya adalah objek. Saya, Anda, Customer, Supplier, Product adalah objek.
Ada beberapa keuntungan yang kita dapatkan ketika berhubungan dengan class dan objek :
Persistence ignorance - Kita tidak perlu lagi khawatir bagaimana data disimpan ataupun media yang digunakan.
Strong typing - Kita tidak perlu lagi melakukan konversi secara manual untuk setiap tipe data kolom/field yang ada di dalam sebuah tabel ketika ingin mengambil nilainya.
Compile-time checking - Class mempunyai daftar property, jika kita mengetikkan nama property yang salah, secara langsung akan mendapatkan kompilasi error. Sehingga tidak perlu menjalankan aplikasi untuk mengetahui kesalahan penulisan kode.
Ease of development - Editor kode seperti Visual Studio mempunyai fitur IntelliSense untuk mempercepat proses pengembangan aplikasi. IntelliSense memberikan petunjuk kepada pengembang aplikasi tentang daftar property, event dan method yang dimiliki oleh sebuah class. Tetapi jika kita menggunakan DataSet atau DataReader, fitur IntelliSense jadi tidak berfungsi karena penulisan nama field/kolom berbasis teks (string).
Di bawah ini kita akan membandingkan pembuatan method-method CRUD menggunakan library ADO.NET secara langsung dan menggunakan Entity Framework.
Adapun sebagai targetnya adalah tabel Supplier yang diwakili oleh class Supplier.
1. Save - Untuk menambahkan data baru
ADO.NET
Entity Framework (EF)
Dari dua method di atas, kita bisa melihat bahwa method Save menggunakan Entity Framework (EF) lebih sederhana sehingga mengurangi kesalahan dalam penulisan kode dibandingkan dengan menggunakan ADO.NET secara langsung. Kita tidak lagi menuliskan perintah SQL INSERT yang masih berbasis teks (string).
Contoh penggunaan :
2. Update - Untuk mengupdate data
ADO.NET
Entity Framework (EF)
Contoh penggunaan :
3. Delete - Untuk menghapus data
ADO.NET
Entity Framework (EF)
Contoh penggunaan :
4. GetAll - Untuk menampilkan semua data
Method ini akan mengembalikan kumpulan objek supplier, karena objek suppliernya bisa lebih dari satu maka dibutuhkan sebuah wadah (container) untuk menampung kumpulan objek supplier.
Untuk contoh di bawah ini saya menggunakan objek List untuk menampung kumpulan objek supplier.
ADO.NET
Contoh penggunaan :
Entity Framework (EF)
Tidak seperti ADO.NET yang masih menggunakan perintah SQL SELECT untuk mengakses data yang ada di dalam database, Entity Framework menggunakan LINQ.
Contoh penggunaan :
5. GetByName - Untuk menampilkan data berdasarkan nama Supplier
ADO.NET
Contoh penggunaan :
Entity Framework (EF)
Contoh penggunaan :
Dan method terakhir adalah …
6. GetByID - Untuk menampilkan data berdasarkan Supplier ID
Method ini hanya mengembalikan satu objek supplier jika ditemukan, selain itu akan mengembalikan nilai null.
ADO.NET
Contoh penggunaan :
Entity Framework (EF)
Contoh penggunaan :
Semua contoh method di atas masih menggunakan access modifier private static karena saya melakukan testingnya langsung di method Main (static void Main). Idealnya semua method di atas disimpan di dalam sebuah class dengan access modifier public.
Dan kesimpulan akhirnya adalah, dengan menggunakan ORM seperti Entity Framework, kita bisa dengan mudah membuat standarisasi penulisan kode untuk mengakses database karena memiliki pola yang sama, yg membedakan hanya nilai Statenya saja.
Beberapa waktu yang lalu saya merilis sebuah library dengan nama WhatsApp NET Client. Library ini merupakan hadiah dari saya untuk teman-teman .NET De...
WhatsApp NET Client adalah library untuk .NET Developer yang digunakan untuk mengembangkan aplikasi WhatsApp klien berbasis desktop. Library ini dikembangkan...
Comments