Bagikan melalui


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.

ADO.Net graphic
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.

Lihat juga