ADO.NET Nedir?
ADO.NET temelde bir teknoloji olarak görülmektedir. Tamamen bir ORM aracı değildir. Programlama dili değildir. Microsoft’un veriye erişme teknolojisinin adıdır.
Açılımı “ActiveX Data Objects”’tir. Yani aktif veri tabanı nesneleri (tablolar, stored procedure’ler, Index vb.) üzerinde çeşitli işlemler yapmamıza, veri çekme, silme, değiştirme vb. izin veren ve veri tabanı’nın C# dili ile haberleşebilmesi için kullanılan bir teknolojidir.
ADO.NET içerisindeki 2 mimari
1-) Connected (Bağlantılı model)
2-) Disconnected (Bağlantısız model)
Connected model ile Disconnected model arasındaki fark içerisinde bağlantı nesnesi olup olmaması değildir.
Connected: C# uygulamasıyla SQL server konuşmaya başladığı anda Connection nesnesi “OPEN” yapılmalıdır. Bunu yazılım geliştiriciler olarak biz kendimiz kontrol etmeliyiz.
Uygulamamız, database ile sürekli bağlantılı haldedir ve anlık database de okuma ve update işlemlerimiz yapılmaktadır.
Bağlantı sürekli olduğu için, veri okuma işlemi son satırı okuyana kadar açık kalması gerekmektedir, bu da uygulamamızda biraz yavaşlığa sebep olabilir.
Disconnected: Ü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 geliştiriciler olarak biz değil bağlantı nesnesi olan SqlDataAdapter’in bizzat kendisi yapar.
Bu tanımları yaptıktan sonra akıllarda şu soru olabilir? “Her işi SqlDataAdapter yapıyorsa Disconnected kullanalım kafamız rahat etsin” fakat yapısı gereği Disconnected mimari Connected mimariye göre performansızdır. ADO.NET kullandığımız projelerde Disconnected mimarisini sadece veri görüntülemede kullanıyoruz. Ekleme, silme, güncelleme gibi CRUD işlemlerini her zaman Connected mimari üzerinde gerçekleştiririz.
Bu yazımda bir çok web sitesinden faydalandım bunlar;