C# ta Disconnected Mimari Nedir ve Kullanımı

C# ta Disconnected Mimari Nedir ve Kullanımı

Merhaba Arkadaşlar,Bu yazımda c# adonet’in disconnected mimarisinden bahsedeceğim.Genel olarak yazılımda kullanılan tercih edilen bir yapıdır.Bu yapıda kullanılırken programcıya zaman ve kod açısından kolaylıklar sunar.Nedir bu kolaylıklar derken biraz açalım bunu ; Disconnected mimariye göre en basit olarak bu mimari connectionlarını kendi açıp kapatıyor ve hiç uğraşma derdimiz olmuyor, verileri çekerken satır satır dönmüyoruz burada oluşturduğumuz tabloya atıyoruz.ve connected mimaride 20 satır kod yazıyorsak burada 5 6 satıra kadar düşürebiliyoruz.Verileri birkere ram belleğe çekiyor ve belli bir süre ram bellek üzerinden işlem yapıyor.SqlDataAdapter sayesinde verileri çeker ve gerekli connectionu bu nesne açıp kapatır.Dataadaptor üzerindeki  sql verileri datatable ve datasetlere doldurulur (fill metodu ile).Burada yapılan değişiklikler bizim istediğimiz zaman veritabanına yansır.Eğer belli bir zaman sonra yansır ise burada verilerde tutarsızlık ve eski veriler üzerinde yapılan değişiklikler görünmez.O arada bir kişi biz veriyi çektikten sonra değişiklik yaptıysa biz onu göremeyiz ve eski veri varmış gibi işlem yaparız.Burada örnek olarak Disconnected mimaride veri çekme ve datagridview e aktarma işlemini örnek olarak aşağıda kaynak kodları mevcuttur.

private void button1_Click(object sender, EventArgs e)
{
SqlConnection cnn = new SqlConnection(“Data Source=.;Initial Catalog=Teknik;User ID=sa;Password=1”); // Connectionstringimiz.
SqlDataAdapter da = new SqlDataAdapter(“select * from Urunler”, cnn); // ürünleri getirmek için sorgumuz ve gerekli işlemleri yapan SqlDataadapter nesnemiz
DataTable dt = new DataTable();// Burada sanal tablo oluşturuyoruz.
da.Fill(dt);// Burada SqlDataAdapter nesnemizin fill doldurma metoduna bir datatable istiyor.Burada yeni oluşturduğumuz tabloya doldurulacak onu seçiyoruz.
dataGridView1.DataSource = dt; // Burada ise sadece Datagridviewe datasource özelliğine oluşturduğumuz datatable ı gösteriyoruz.
}