Gambaran Umum Model Pabrik
ADO.NET 2.0 memperkenalkan kelas dasar baru di namespace layanan System.Data.Common. Kelas dasar bersifat abstrak, yang berarti bahwa kelas tersebut tidak dapat langsung diinstansiasi. Kelas tersebut termasuk DbConnection, DbCommand, dan DbDataAdapter serta dibagikan oleh penyedia data .NET Framework, seperti System.Data.SqlClient dan System.Data.OleDb. Penambahan kelas dasar menyederhanakan penambahan fungsionalitas ke penyedia data .NET Framework tanpa harus membuat antarmuka baru.
ADO.NET 2.0 juga memperkenalkan kelas dasar abstrak, yang memungkinkan pengembang menulis kode akses data umum yang tidak bergantung pada penyedia data tertentu.
Pola Desain Pabrik
Model pemrograman untuk menulis kode yang tidak bergantung dengan penyedia didasarkan pada penggunaan pola desain "pabrik", yang menggunakan satu API untuk mengakses database di beberapa penyedia. Pola ini dinamai dengan tepat, karena meminta penggunaan objek khusus semata-mata untuk membuat objek lain, seperti pabrik dunia nyata. Untuk penjelasan lebih rinci tentang pola desain pabrik, lihat Menulis Kode Akses Data Generik di ASP.NET 2.0 dan ADO.NET 2.0.
Dimulai dengan ADO.NET 2.0, kelas DbProviderFactories menyediakan metode static
(atau Shared
dalam Visual Basic) untuk membuat instans DbProviderFactory. Instans kemudian mengembalikan objek yang diketik dengan kuat dan benar berdasarkan informasi penyedia dan string koneksi yang disediakan pada run time.