Arsitektur ADO.NET
Pemrosesan data secara tradisional mengandalkan terutama pada model dua tingkat berbasis koneksi. Karena pemrosesan data semakin menggunakan arsitektur multi-tingkat, pemrogram beralih ke pendekatan terputus untuk memberikan skalabilitas yang lebih baik untuk aplikasi mereka.
Komponen ADO.NET
Dua komponen utama ADO.NET untuk mengakses dan memanipulasi data adalah penyedia data .NET Framework dan DataSet.
Penyedia Data .NET Framework
Penyedia Data .NET Framework adalah komponen yang telah dirancang secara eksplisit untuk manipulasi data dan akses baca-saja yang cepat, teruskan-saja ke data. Objek Connection
menyediakan konektivitas ke sumber data. Objek Command
memungkinkan akses ke perintah database untuk mengembalikan data, memodifikasi data, menjalankan prosedur tersimpan, dan mengirim atau mengambil informasi parameter. DataReader
menyediakan aliran data berperforma tinggi dari sumber data. Terakhir, DataAdapter
menyediakan bridge antara objek DataSet
dan sumber data. DataAdapter
menggunakan objek Command
untuk menjalankan perintah SQL di sumber data untuk memuat DataSet
dengan data dan menyesuaikan perubahan yang dibuat pada data di belakang DataSet
ke sumber data. Untuk informasi selengkapnya, lihat Penyedia Data .NET Framework dan Mengambil dan Memodifikasi Data di ADO.NET.
The DataSet
ADO.NET DataSet
dirancang secara eksplisit untuk akses data terlepas dari sumber data apa pun. Akibatnya, dapat digunakan dengan beberapa sumber data yang berbeda, digunakan dengan data XML, atau digunakan untuk mengelola data lokal ke aplikasi. DataSet
berisi koleksi satu atau beberapa objek DataTable yang terdiri dari baris dan kolom data, dan juga kunci primer, kunci asing, batasan, dan informasi hubungan tentang data dalam objek DataTable
. Untuk informasi selengkapnya, lihat DataSets, DataTables, dan DataViews.
Diagram berikut mengilustrasikan hubungan antara penyedia data .NET Framework dan DataSet
.
Arsitektur ADO.NET
Memilih DataReader atau DataSet
Saat Anda memutuskan apakah aplikasi Anda harus menggunakan DataReader
(lihat Mengambil Data Menggunakan DataReader) atau DataSet
(lihat DataSets, DataTables, dan DataViews), pertimbangkan jenis fungsionalitas yang diperlukan aplikasi Anda. Gunakan DataSet
untuk melakukan hal berikut:
Cache data secara lokal dalam aplikasi Anda sehingga Anda dapat memanipulasinya. Jika Anda hanya perlu membaca hasil kueri,
DataReader
adalah pilihan yang lebih baik.Data jarak jauh antara tingkatan atau dari layanan Web XML.
Berinteraksi dengan data secara dinamis seperti mengikat ke kontrol Formulir Windows atau menggabungkan dan mengaitkan data dari berbagai sumber.
Lakukan pemrosesan ekstensif pada data tanpa memerlukan koneksi terbuka ke sumber data, yang membebaskan koneksi untuk digunakan oleh klien lain.
Jika Anda tidak memerlukan fungsionalitas yang disediakan oleh DataSet
, Anda dapat meningkatkan performa aplikasi Anda dengan menggunakan DataReader
untuk mengembalikan data Anda dengan cara baca-saja, teruskan-saja. Meskipun DataAdapter
menggunakan DataReader
untuk mengisi konten DataSet
(lihat Mengisi DataSet dari DataAdapter), dengan menggunakan DataReader
, Anda dapat meningkatkan performa karena Anda akan menyimpan memori yang akan dikonsumsi oleh DataSet
, dan menghindari pemrosesan yang diperlukan untuk membuat dan mengisi konten DataSet
.
LINQ ke DataSet
LINQ to DataSet menyediakan kemampuan kueri dan pemeriksaan jenis waktu kompilasi atas data yang di-cache dalam objek DataSet. Ini memungkinkan Anda untuk menulis kueri dalam salah satu bahasa pengembangan .NET Framework, seperti C# atau Visual Basic. Untuk informasi selengkapnya, lihat LINQ ke Himpunan Data.
LINQ ke SQL
LINQ untuk SQL mendukung kueri terhadap model objek yang dipetakan ke struktur data database hubungan tanpa menggunakan model konseptual perantara. Setiap tabel diwakili oleh kelas terpisah, yang menggabungkan model objek dengan skema database hubungan. LINQ ke SQL menerjemahkan kueri yang terintegrasi bahasa dalam model objek ke dalam Transact-SQL dan mengirimkannya ke database untuk dieksekusi. Saat database mengembalikan hasilnya, LINQ untuk SQL menerjemahkan hasilnya kembali ke objek. Untuk informasi selengkapnya, lihat LINQ to SQL.
Entity Framework ADO.NET
Kerangka Kerja Entitas ADO.NET dirancang untuk memungkinkan pengembang membuat aplikasi akses data dengan memprogram terhadap model aplikasi konseptual alih-alih memprogram secara langsung terhadap skema penyimpanan relasional. Tujuannya adalah untuk mengurangi jumlah kode dan pemeliharaan yang diperlukan untuk aplikasi berorientasi data. Untuk mengetahui informasi selengkapnya, lihat ADO.NET Entity Framework.
WCF Data Services
WCF Data Services digunakan untuk menyebarkan layanan data di Web atau intranet. Data disusun sebagai entitas dan hubungan sesuai dengan spesifikasi Model Data Entitas. Data yang disebarkan pada model ini dapat diatasi oleh protokol HTTP standar. Untuk informasi selengkapnya, lihat WCF Data Services 4.5.
XML dan ADO.NET
ADO.NET memanfaatkan kekuatan XML untuk menyediakan akses terputus ke data. ADO.NET dirancang bersama dengan kelas XML di .NET Framework; keduanya merupakan komponen dari arsitektur tunggal.
ADO.NET dan kelas XML di .NET Framework bertemu dalam objek DataSet
. DataSet
dapat diisi dengan data dari sumber XML, apakah itu file atau aliran XML. DataSet
dapat ditulis sebagai XML yang mematuhi World-Wide Web Consortium (W3C) yang menyertakan skemanya sebagai skema XML (XSD), terlepas dari sumber data di DataSet
. Karena format serialisasi asli adalah DataSet
XML, ini adalah media yang sangat baik untuk memindahkan data antar tingkatan, membuat DataSet
pilihan optimal untuk data jarak jauh dan konteks skema ke dan dari layanan Web XML. Untuk informasi selengkapnya, lihat Dokumen dan Data XML.