7 Eylül 2013 Cumartesi

C# ile MongoDB Kullanımı

Merhabalar,
bu yazımızda MongoDB veritabanının c# ile nasıl entegre edildiğini örneklerle inceleyeceğiz.
NoSQL sistemleri kendi aralarında döküman tabanlıkey/value tabanlı ve grafik tabanlı olarak üç gurupta toplanırlar. MongoDB döküman tabanlıdır ve kullanılması en kolay olandır.
MongoDB'nin şu anki güncel sürümü 2.4.6'dır. http://www.mongodb.org/downloads adresinden ücretsiz olarak indirebilirsiniz.
Sistemimize uygun olanı indirdikten sonra C:\ altına mongodb isimli bir klasör oluşturup bu klasörün içine zip dosyasını çıkaralım.
Veritabanı dosyalarımızın tutulacağı C:\data\db klasörümüzün bulunması gerekiyor. ( Not : bu klasör sabittir ve farklı bir isimde olmamalıdır. )


Şimdi visual studio 2010 ile bir masaüstü projesi açalım ve http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver/ adresinden dll dosyalarımızı projemize referans olarak ekleyelim.



















Şimdi MongoDB veritabanımızı açmak için Komut istemimizi yönetici olarak çalıştıralım ve C:\mongodb\bin içindeki mongod.exe'yi çalıştıralım.


"admin web console waiting for connections on port 28017" mesajı gelmişse eğer başarıyla açılmış demektir.









           






try
            {
                var conn = new MongoDB.Mongo();
                conn.Connect();
                MessageBox.Show("Connected");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
yukarıdaki kod veritabanımıza bağlantımızı test edecektir.
Şimdi üzerinde çalışacağımız Personel isimli bir class oluşturalım

class Personel
    {
        public string personelAdi { set; get; }
        public int numarasi {set; get; }

        public Personel()
        {
           
        }
        public override string ToString()
        {
            return this.personelAdi;
        }
    }

İnsert işlemi

            
public void insert(){
var p = new Personel();
p.personelAdi = "Kemal";
p.numarasi = 1234;
try
            {
                var mongo = new MongoDB.Mongo();
                mongo.Connect();
                var db = mongo.GetDatabase("DemoDB");
                var coll = db.GetCollection<Personel>();
                coll.Save(p);
                MessageBox.Show("kaydedildi");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
  }

Update işlemi

public void update(Personel p){
   var mongo = new MongoDB.Mongo();
   mongo.Connect();
   var db = mongo.GetDatabase("Demo");
   var coll = db.GetCollection<Personel>();
  
   p.personelAdi = "Duran";
   coll.Save(p);

}

Select işlemi


public List<Personel> getPersolonels()
{
    var mongo = new MongoDB.Mongo();
    mongo.Connect();
    var db = mongo.GetDatabase("DemoDB");
    var personels = db.GetCollection<Personel>().FindAll().Documents;

    return personels.ToList() ;
 }
Görüldüğü gibi MongoDB ile veritabanı işlemleri rahatlıkla yapılabilmektedir, büyük projelerde bu gibi sistemler bizi uzun kodlar yazmaktan kurtarmaktadır.
MongoDB yönetim sistemlerinden bazılarının da linkini paylaşıyorum : 


İyi çalışmalar

Hiç yorum yok:

Yorum Gönder