LiteDb Nedir ?
Eklenme Tarihi : 23.12.2018


Öncelikle herkese merhaba diyerek yazıma başlamak istiyorum. Bugün sizlere c# ile geliştirdiğimiz küçük uygulamalarda veri saklamanın yollarından ve LiteDb’nin ne olduğundan bahsedeceğim. Ve son olarak küçük bir uygulama yazıp bu yazımı bitirmiş olacağım.

Eğer daha önce c# ile geliştirmiş olduğunuz ve veri saklamanız gereken uygulamalar varsa veritabanları konusunu incelemişsinizdir. Mssql, MySql, Oracle, MongoDb ihtiyacınız olan verileri saklayan popüler veritabanı sistemlerinden birkaçıdır. Fakat yukarıda isimlerini verdiğim veritabanlarından birini kullanırsanız uygulamanızın kurulu olduğu her bilgisayarda veritabanlarının kurulu olması gerekecektir. Peki, küçük bir günlük uygulaması geliştirdiğimizi ve bunu diğer insanlarla paylaştığımızı düşünelim. Uygulamamızı indiren ve kullanmak isteyen herkes bu yazılımları kurmak zorunda mı kalacak? Bu soruyu kendimize yöneltelim. Günlük işlerimizi not almak için küçük bir uygulama yüklüyoruz fakat bizden veritabanı yazılımlarını kurmamızı istiyor. Kulağa saçma geldiğinin farkındayım.

Bu tür sorunlar karşısında ise bilgisayarımızda yerel olarak çalışan ve taşınabilir veritabanı sistemleri geliştirimiştir. Sqlite bunlar arasında neredeyse en popüler olan sistemdir. İşin NoSql tarafına gelince ise ilk karşılaştığım zaman bende büyük bir heyecan uyandıran LiteDB geliyor. Şimdi biraz LiteDB nedir bunu inceleyelim.

LiteDB Nedir ?

LiteDb .Net için geliştirilmiş hızlı, basit, yapılandırması ve kurulumu olmayan NoSql veritabanıdır. Eşzamanlı birçok kaydı yazmanız gerekmeyen basit uygulamalar için (web, mobil ve masaüstü) hazırlanmış güzel bir sistemdir. Verileri Sqlite gibi tek bir dosya içerinde saklar. MongoDb şeklinde veri kaydı yapar. Ayrıca son olarak eklemekte fayda var LiteDB tamamen ücretsizdir. Nuget paket yöneticisi aracılığıyla dll dosyası olarak projenize ekledikten sonra kullanmaya başlayabilirsiniz.


Küçük Bir Uygulama Geliştirelim

Şu ana kadar basit bir şekilde veritabanı sistemlerinden ve LiteDb’den bahsettik. Şimdi küçük bir uygulama yazma zamanı. Senaryomuz okumuş olduğu kitapları bilgisayarında saklamak isteyen bir öğrenci olsun. İşlemler gayet basit, öncelikle basit bir arayüz(kitapların listelenmesi ve yeni kitap eklerken kullanıcıdan bilgilerin alınması için) ardından ise kitap ekleme, güncelleme, silme ve listeleme işlemlerinin yapılması. Gelin uygulamamızı geliştirmeye başlayalım.

Visual Studio geliştirme ortamını açtıktan sonra File → New → Project yollarını izleyerek Windows Form App(.Net Framework) seçerek yeni bir proje oluşturalım. Yeni oluşmuş projemize toolbox aracılığıyla dataGridView ve bilgilerimizi(Id, Ad, Yazar, Tür, Sayfa, Puan, Açıklama) textBox’lar oluşturalım. Ben kendi oluşturmuş olduğum arayüzün resmini aşağıya ekliyorum.

Yaptığımız bu basit arayüzün ardından kodlarımızı yazmaya başlayabiliriz. Öncelikle LiteDB dll dosyasını projemize eklememiz gerekiyor. Tools -> NuGet Package Manager -> Package Manager Console yolunu izleyelim ve altta açılan sekmeye Install-Package LiteDb yazıp enter tuşuna basalım. Projemiz için gerekli dosyaları indirmiş olduk.

Şimdi veritabanında tablomuz için yeni bir Kitaplar.cs adında sınıf oluşturalım. Arayüzümüze eklemiş olduğumuz Id, Kitap Adı, Yazarı, Türü, Sayfa, Puan ve Açıklama özelliklerini sınıfa ekleyelim. Oluşturmuş olduğumuz sınıfın son halini aşağıya ekliyorum.

Şimdi verilerimizin listelenmesi için kodları yazalım. Öncelikle geri dönüş tipi liste olan verileriGetir fonksiyonunda tablonun içerisinde foreach ile dönerek verileri listeye alıyoruz. Daha sonra verileriListele adında bir metot oluşturuyor ve dataGridView aracında az önceki verileri alıyoruz.

Şimdi yeni bir veri ekleme işlemini yapalım. Arayüz kısmında eklemiş olduğumuz ekleme butonuna çift tıklayalım ve kodlarımızı içerisine yazmaya başlayalım. Burada farklı olarak yaptığımız iş, Kitaplar sınıfı türünde yeni bir kitap objesi oluşturuyoruz ve textbox gibi araçlardan gelen verilerimizi buraya ekliyoruz. Ardından kitaplar tablomuza insert(ekleme) fonksiyonunu çağırıp oluşturmuş olduğumuz kitap objesini ekliyoruz. Son olarak verileriListele metodunu çağırıp ekleme yaptıktan sonra listenin son halini bize göstermesini sağlıyoruz.

Güncelleme işlemine geçmeden hemen önce dataGridView aracında tıklamış olduğumuz satırın verilerini textbox araçlarımıza taşıyan kodu yazalım. Bunun için dataGridView’in CellClick özelliğine çift tıklayıp açılan yerde aşağıdaki kodlarımızı yazalım.

Artık güncelleme işlemine geçebiliriz. Güncelleme ekleme ile neredeyse aynı. Aralarındaki fark güncellemede oluşturmuş olduğumuz kitap objesine ıd kısmını ekliyoruz. Bunun nedeni güncelleme işleminde Id göre işlemin yapılacak olması. Sonrada insert yerine update yazarak güncellemeyi başarıyla gerçekleştirmiş oluyoruz.

Son olarak silme işlemini gerçekleştirelim ve uygulamayı tamamlayalım. Burada yeni bir kitap adında obje oluşturma işlemi gerçekleştirmiyoruz. Sadece kitaplar adlı tabloyu buluyor ve kitapların delete metoduna ulaşarak içerisine bir sorgu yazıyoruz. Sorguyu özetlemek gerekirse Id değeri silinmesini istediğimiz kaydın id değerine eşit olanı sil anlamına geliyor. Ardından her işlemin sonunda yaptığımız verileriListele metodunu bir kez daha çağırıyor ve tablonun son halini görmüş oluyoruz.

Özet Olarak

Veritabanlarından ve LiteDb’den bahsettik. Son olarak CRUD işlemlerini(Create, Read, Update, Delete) gösteren küçük bir uygulama geliştirdik. Eğer hatayla karşılaşırsanız veya kodların tamamını görmek isterseniz geliştirmiş olduğumuz uygulamanın dosyalarını aşağıdaki linkten paylaşıyor olacağım.

https://github.com/berkekurnaz/CSharpExamples/tree/master/LiteDB_Kitaplik_Uygulamasi

Görüşmek üzere :)


Yazar : Berke Kurnaz