Geçen gül ORM ile alakalı makaleleri incelerken Evcil.net'de varolan Muhammed TAHİROĞLU'nun yazmış olduğu ORM'de Su Bulanık başlıklı bir yazı okudum. ORM ile alakalı bende araştırmalarımı sizinle paylaşayım dedim.

ORM(Object/Relational Mapping) nedir sorusunu şöyle kısa bir tabir ile belirtsek fena olmaz sanırım. ORM kısaca hiç denecek kadar (kadarı yok aslında öyle) SQL kodu yazmadan veritabanı ile iletişim kurabilen bir yapı. Daha doğrusu sizin veritabanı ile nesneleriniz arasındaki ilişkişiyi oluşturan yapı diyebiliriz.

Düşünün ki C# 'da Musteri isminde bir Class oluşturdunuz. Daha sonra bu Class'ın özelliklerini belirlediniz. MusterID, MusteriName vs. gibi. Musteri Class'ının ismini yazıp "."'ya bastığınızda Intellisense size o sınıfın MusteriID, MusteriName gibi alt özelliklerini listeleyecektir. Bunu zaten yapıyoruz.

ORM tarafında DLINQ'den örnek verecek olursak bir DMBL dosyası oluşturup Tabloları içerisine sürüklediğimizde kod tarafında da DataContext'imizin ismini yazıp "."'ya bastığımızda yine Tablolarımızın listelendiğini ve o tablomuzun da içerisindeki alanların listelendiğini görürsünüz. Yapmış olduğumuz işlemi manuel olarak yapmış olsaydık işimiz bayağı bir uzayacaktı ve zamandan kaybetmiş olacaktık.

ORM araçları ise bizlere bu işlemi sağlıyor. Veritabanı model dosyalarımızı oluşturuyoruz ve kod tarafında ise basit bir şekilde kod yazmadan veritabanındaki verilerimize erişim sağlayabiliyoruz.

Kısacası örnekleyecek olursak, Settings tablom var ve ben bu tablonun altında 8 tane alanım var. Ben bu tabloma erişmek için yapacağım işlemleri sıralayayım;

1. Connection nesnesi oluştur.
2. Command nesnesi oluştur.
3. Connection nesnesini aç.
4. Command'a komut ve connection'ı ata.
5. DataReader oluştur.
6. DataReader'a Command'ı çalıştır.
7. While döngüsü oluştur.
vs. vs. vs.

bu böyle uzar gider. Ve eğer ki bir fonksiyon oluşturup bu işlemi yaptırmıyorsanız her çekmek istediğiniz yerde bu yapıyı kullanmak zorunda kalabilirsiniz.

ORM de yaparken ise bir seferliğine data modelinizi oluşturuyorsunuz. Daha sonra ise adımları yazıyorum.



Devamı...

Etiketler : orm nhibernate ilişkisel veritabanı
Kategoriler : CSharp.Net
Yorumlar : 0 Yorum Yorum Yaz
RSS 2.0
Sor Bakalım...
Arama
  Ara
Paylaş
| Diğer
Destek