ADO.Net (Bağlantısız Katman-Serileştirme)

ADO.Net bildiğiniz üzere projemizin veritabanı ile bağlantısını sağlar, veritabanımız üzerinde çeşitli işlemler yapmamıza imkan verir. Bir bakıma projemiz ile veritabanımız arasında köprü görevi görmektedir.Bu yazımızda ADO.Net’in bağlantısız katmanında çalışmalar yapacağız. Bağlantısız katman; dataset, datatable, datarow sınıflarından oluşmaktadır. Normal bir veritabanı bağlantısı yoktur ve kayıtlarımızı xml formatında tutmamızı sağlar. Bağlantısız katman bize daha hızlı işlem yapabilme imkanı verir.

ADO.Net Bağlantısız Katman
Ekran Alıntısı

SERİLEŞTİRME

Verileri başka bir kullanıcıya transfer ederken ,yada veriyi depo edilirken veride format değişikliğine ihtiyaç duyulur.Bu yönteme serileştirme denir.Biz kodumuzu binary tipinde serileştireceğiz. Serileştirdiğimiz veri transfer edildikten sonra alıcı tarafından deserialization işlemine tabi tutması gerekir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serilestirme
{
    class Program
    {
        static void Main(string[] args)
        {
            DataSet ds = new DataSet("Futbol"); //datasetimiz bir bakıma veritabanımız yerine geçiyor.

            DataTable takımlar = new DataTable("takımlar"); //datasetden bir alt katman olan table oluşturduk.

            DataColumn dc = new DataColumn();// sütunlar

            dc.ColumnName = "takımID";
            dc.AllowDBNull = false;
            dc.AutoIncrementSeed = 1;
            dc.AutoIncrement = true;
            dc.AutoIncrementStep = 1;
            dc.DataType = typeof(Int32);

            takımlar.Columns.Add(dc); //table'a sütunlarımızı ekledik.

            dc = new DataColumn("takımadı", typeof(string)); //yeni sütunu daha kısa yöntemle belirlediğimiz özelliklere göre oluşturduk.
            takımlar.Columns.Add(dc);

            dc = new DataColumn("galibiyet", typeof(Int32));
            takımlar.Columns.Add(dc);

            dc = new DataColumn("yenilgi", typeof(Int32));
            takımlar.Columns.Add(dc);
             
            DataRow row = takımlar.NewRow(); //ve elemanlarımız olan satırlarıda ekledik.
            row["takımadı"] = "Fenerbahce";
            row[2] = 5;
            row[3] = 2;
            takımlar.Rows.Add(row);

            row = takımlar.NewRow();
            row["takımadı"] = "Galatasaray";
            row[2] = 3;
            row[3] = 1;
            takımlar.Rows.Add(row);


            foreach (DataRow item in takımlar.Rows)
            {
                Console.WriteLine(item[0] + "-" + item[1] + "-" + item[2]);
            }

            takımlar.WriteXml(@"c:\deneme\takımlar.xml"); //kaydını yaptığımız tabloyu xml formatında yazdık.

            //serileştirme binary formatında yapıldı.
            FileStream fsm = new FileStream(@"c:\deneme\takımlar.xml", FileMode.Create);
            
            ds.RemotingFormat = SerializationFormat.Binary;
            takımlar.RemotingFormat = SerializationFormat.Binary;

            BinaryFormatter format = new BinaryFormatter();
            format.Serialize(fsm, takımlar);
            fsm.Close();
   
        }
    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir