Ado.Net Nedir?
Ado.Net Nedir?

Ado.Net, Microsoft .Net platformunun özelliklerini destekleyen XML standardı üzerine kurulmuş bir veri erişim teknolojisidir. Ado.Net (ActiveX Data Objects.Net), veritabanı ile uygulamalarımız arasında köprü görevini görmektedir. ADO.Net ile uygulama arayüzünde veritabanı ile bağlantı kurulabilir, veriler listelenebilir, güncellenebilir ve nihayet eklenip silinebilir. Ado.Net ile uygulama arayüzünde SQL sorguları, komutları kullanılabilir.

Ado.Net COM desteği gerektirmez ve esnek bir yapıya sahiptir. Ado.Net ile MsSQL, Access, Oracle, MySQL, SQLite gibi veritabanları ile bağlantı kurulabilir ve Ado.Net bu veritabanları bağlantılarında ihtiyaç duyulacak tüm neslere sahiptir. SQL sınıfları SqlConnection gibi Sql ile başlayan isimler altında yer alırken örneğin Oracle için OracleConnection, OracleCommand vebenzeri sınıflar kullanılır. Keza OLEDB arayüzü için OleDbConnection, OleDbCommand gibi sınıflar bulunmaktadır.

Ado.Net temelde bir teknoloji olarak görülmektedir. Tamamen bir ORM (Object Relation Mapping) aracı değildir. Çünkü Ado.Net’te nesne modelleme yoktur. Ado.Net veritabanı ile C# dilini konuşturmak için kullanılan teknolojilerden bir tanesidir. ORM’in ne olduğunu ya da ne olmadığını sonraki yazılarımda anlatmayı umuyorum. Ama kısaca veritabanında oluşturulan her bir nesneye karşılık kod tarafında da bir nesne oluşturulması temeline dayanan bir yazılım mantığıdır.

Ado.Net’te C# dilini kullanarak obje yönetimini kontrol edebileceğimiz gibi, obje yönetimi yapmadan da Ado.Net kullanabiliriz (Transaction script yaklaşımı). Temel amacı, kendi yazdığınız arayüz yardımıyla SQL üzerinde istediğimiz sorguları (procedure, view vs olabilir) çalıştırabilecek programlar/web projeleri oluşturmaktır. Ado.Net bir programlama dili değildir.

Ado.Net kendi içerisinde Connected (Bağlantılı model) ve Disconnected (Bağlantısız model) olmak üzere 2 temal mimariyi barındırır.

Connected model ile Disconnected model arasındaki fark içerisinde bağlantı nesnesi olup olmaması değildir.
Connected yönteminde C# uygulamasıyla SQL server konuşmaya başladığı anda Connection nesnesi “OPEN” yapılmalıdır. Bunu bizzat yazılım geliştirici kontrol etmelidir. Disconnected yöntemde ise üzerinde çalışılacak veriler “SELECT” komutu ile alınır, alındıktan sonra bağlantı kapatılır ve bu bağlantı yönetimi işini yazılım geliştirici değil bağlantı nesnesi olan SqlDataAdapter yapar.

Her işi SqlDataAdapter yapıyorsa Disconnected kullanmak mantıklı gelebilir ama yapısı gereği Disconnected mimari Connected mimariye göre daha az performans sergiler. Ado.Net projelerinde Disconnected mimarisinin sadece veri görüntülemede kullanılması, ekleme, silme, güncelleme gibi CRUD işlemlerinin ise her zaman Connected mimari üzerinden gerçekleştirilnesi daha iyidir.

Temel olarak Ado.Net’in kısa bir tanımını yapmış oldum. İleryen zamanlarda bir Ado.Net projesi üzerinden, paylaşılmasında fayda gördüğüm hususları Ado.Net kategorisi altında paylaşmayı umuyorum. SAğlıcakla kalın…

Habip Oğuz

Kod yazmak onun için nefes almak... Daha fazla bilgi için buraya tıklayın.

Cevapla