Katakanlah Anda menggunakan Dot Net untuk berinteraksi
dengan database SQL Anda. Anda ingin mendapatkan data yang sudah diurutkan dari
database Anda. Tapi, Anda ingin beban pekerjaannya terjadi tingkat menengah
Anda, dengan maksud untuk mengurangi beban pada server database Anda. apa
pilihan yang tersedia untuk Anda pada saat ini?
Ada banyak cara yang berbeda untuk berbicara dengan SQL
Server di Dot Net. Mereka semua didasarkan pada protokol komunikasi Dot Net
seperti ODBC, atau ADO.Net menggunakan System.Data.SqlClient. Terlepas
dari protokol komunikasi, data dikembalikan ke kode Anda dalam bentuk
System.DataTable, atau, jika lebih dari satu tabel, itu dikembalikan dalam
System.DataSet (Catatan: Anda dapat memiliki dataset dengan hanya satu tabel) .
Kelas DataTable sudah memiliki cara melakukan filter dan sort (pengurutan). Lihat metode DataTable.Select (). Hal ini memungkinkan Anda untuk
memberikan dua string sebagai parameter dalam memilih metode. Parameter pertama
adalah filter, dan yang kedua adalah sort. Filter teks terlihat sangat
banyak seperti klausa WHERE untuk sintaks SQL, Dalam metode ini tanpa kata WHERE. Dalam cara
yang sama, seperti ORDER BY klausa untuk SQL dan tanpa
kunci frase ORDER BY dalam kelas DataTable .
Sorting dengan cara ini mengembalikan array
System.Data.DataRow, disaring, dan diurutkan sesuai dengan kebutuhan Anda.
Tergantung pada ukuran set Anda, ini dapat bekerja untuk Anda.
Lebih menarik lagi, dan lebih modern, metode lain adalah dengan
menggunakan Linq dalam bentuk Linq To SQL atau Entity Framework. Kerangka entitas ini lebih disukai karena bekerja dengan Kelas Dot Net. Semua
ini untuk mengumpulkan data dari database dan dibangun ke Entity Framework.
Kita hanya mendapatkan satu set. Kemudian, dengan set tersebut, kita bisa
mengurutkan menggunakan Linq .OrderBy atau .OrderByDescending metode. Apa yang
baik tentang menggunakan Linq adalah bahwa hal itu akan melakukan sort melalui SQL Server jika itu adalah tempat yang lebih baik.
Jika kita menggunakan Transfer Data Objects (DTO) yang
terdiri dari kelas sederhana yang hanya berisi properti, yang dapat dengan
mudah diubah menjadi objek JSON untuk transportasi dalam layanan RESTful, kita bisa menggabungkan kode untuk menghasilkan DTO dan mengurutkan data ke dalam satu pernyataan LINQ.
Kedua pilihan ini mengambil beban dari database server Anda
dan memindahkannya ke tingkat lain. Hal ini menguntungkan di
lingkungan-lingkungan di mana aplikasi Anda mungkin perlu dikembangkan segera, atau untuk masa depan. Database Anda tidak dapat dikembangkan dengan mudah. Tapi, konsumen Anda
lebih siap untuk dilakukan perubahan. Jadi, kita menempatkan beban di sana. Menggunakan alat
bantu seperti Linq, itu adalah jauh lebih mudah untuk menyortir pada klien,
terutama menggunakan kriteria berbeda.