14 Ocak 2016

.Net için En Küçük Database Programı

Sadece bir referans kullanarak kullanabileceğiniz bir mini database. Server'ı yormak istemediğiniz küçük işlemler için kullanabilirsiniz.
NDatabase adında bir konsol projesi açalım.
Ve projeye “ndatabase” yi referans eklemek için Manage NuGet Packages kullanalım.

Referans olarak ekledikten sonra örneğimize başlayabiliriz.
Şimdi Renkler.cs adında aşağıdaki gibi bir class oluşturalım.

public class Renkler
{
public int RenkID { get; set; }
public string RenkAdi { get; set; }
}



Daha sonra Program.cs içerisinde aşağıdaki kodlarda da anlatıldığı gibi işlem yapabilirsiniz.

using System;
using System.Collections.Generic;
using System.Linq;

namespace NDatabase
{
    class Program
    {
        static void Main(string[] args)
        {
            List<Renkler> renkListesi = new List<Renkler>();
            List<Renkler> renkListesiDatabasedenOkunanlar = new List<Renkler>();
            foreach (ConsoleColor item in Enum.GetValues(typeof(ConsoleColor)))
            {
                renkListesi.Add(new Renkler { RenkID = (int)item, RenkAdi = item.ToString() });
            }
            //NDatabase yazdırma Komutu
            using (var odb = OdbFactory.Open("color.db"))
            {
                odb.Store(renkListesi);
            }
            //Nadatabase Okuma Komut
            using (var odb = OdbFactory.Open("color.db"))
            {
                var query = odb.Query<Renkler>();
                var result = query.Execute<Renkler>();
                //Geri kalan her işlem Linq bilgileri ile yapılabilir.

                //Örneğin silmek için
                //Burada siyahı sildim.
                odb.Delete(result.FirstOrDefault(q => q.RenkID == 0));

                //Databaseden son halini çekmek için tekrar çalıştırdım.
                result = query.Execute<Renkler>();
                renkListesiDatabasedenOkunanlar = result.ToList<Renkler>();
            }
            foreach (var renk in renkListesiDatabasedenOkunanlar)
            {
                Console.WriteLine("{0} {1}", renk.RenkID, renk.RenkAdi);
            }
            Console.ReadKey();
        }
    }


}



Detalı bilgi için ndatabase kendi adresinde eğitimleri mevcuttur.