Cara Menggunakan Dynamic Where pada LINQ

Ketika menggunakan query sql, kita dapat membuat query yang dynamic sesuai dengan kondisi mana yang terpenuhi. Misal bila kita ingin mengambil data Produk, kita bisa melakukan filter sesuai dengan kolom yang akan dicari, bisa berdasarkan nama produk, kategori, supplier, atau harga. Contoh kodenya, biasanya yang kulakukan adalah melakukan String Concat atau String Builder. Ini contoh yang pakai string concat.

Dim FilterBy As String = "nama"
Dim WhereString = ""

If (FilterBy = "nama") Then
    WhereString = " ProductName LIKE '%berry%'"
ElseIf (FilterBy = "kategori") Then
    WhereString = " CategoryID = 2"
End If

Dim QueryString = "SELECT * FROM Products WHERE " & WhereString

Nah, kalau pakai LINQ, bagaimana caranya ya? Kan query LINQ gak bisa ditulis secara dinamis?

Read More

Sekilas Entity Framework

Entity Framework pertama kali diperkenalkan pada .Net Framework 3.5 SP1. Versi EF pertama langsung v3.5 (sesuai dengan versi .Net Framework), tanpa melewati v1 terlebih dahulu. Rilis kedua EF, yaitu EF4 hadir bersamaan dengan rilis .Net Framework 4. Pada dua rilis EF ini, EF merupakan bagian dari .Net Framework. Diawali rilis versi EF 4.1, tim EF mulai memisahkan EF dari .Net Framework secara bertahap. Hal ini dengan tujuan agar dapat lebih cepat melakukan update fitur-fitur EF tanpa menunggu rilis .Net Framework.

Mulai EF 4.1, yang merupakan update dari EF 4, rilis EF sudah terpisah dari .Net Framework, dan didistribusikan sebagai paket NuGet. Core Components atau komponen utama dari Entity Framework masih menjadi satu bagian dengan .Net Framework (yaitu pada file assembly System.Data.Entity.dll), sedang update EF berada pada file assembly EntityFramework.dll yang bisa ditambahkan melalui NuGet.