Merhaba arkadaşlar,
Nhibernate i kurumsal uygulamalarda kullanan arkadaşlara bir kaç sorum
olacak.
Biz de kendi geliştirme ekibimizde nhibernate e geçiş yapmayı
planlıyoruz. Bunun ön araştırmasını
ve karar verilirse geçişini ben yapacağım.Geliştirme ortamımız Visual
Studio 2008 (C#,
ASP.NET),
veritabanımız Oracle 10g.
Benim sizlerden fikir almak istediğim konular şunlar;
*
ASP.NET uygulamalarinda nhibernate kullanım mimarisi nasıl olmalı ?
Bundan kastım şudur, nhibernate session nerde açilip nerde kapanmalı,
nerde save edilmeli vs.
Açikçasi bu işi developerin her veritabanı işlemi yaptığında
kendisinin yapmasını değilde,
bir üst seviyede yapmak mümkünmü. (BeginRequest, EndRequest vb)
Configuration nerde set edilmeli. (Bildiğim kadarıyla bu uygulama
domaini içerisinde bir kere set ediliyor?)
Dolayısıyla ApplicationStart, SessionStart vb yerlerde set etmek
mantıklı mı?
Ya da (ki bu en kötü çözüm sanırım) session instance i bi yerde
saklanıp, burdan alıp mı kullanmalı?
Bu konularda sizin izlediğiniz yöntem nedir,
bir entity i db ye kaydeden örnek basit bir kodunuzu ya da yapınızı
paylaşabilirmisiniz.
* Nhibernate kullanmak üzere gerekli olan tablolardan xml dosyalarını
ve entity sınıflarını otomatik
oluşturan bir tool var mıdır?
* Ben aslında nhibernate i direk alıp kullanmak değil de bir ara
katman koyup onun üzerinden kullanmayı planlıyordum ama, nhibernate
baya kapsamlı bi altyapı, böyle bir ara katman kullanabilmem için,
gidip tüm siniflari bazi base lerden türetmem gerekiyor ki, inanilmaz
iş yükü. Gerek de var mı bilmiyorum. Ancak ilerde nhibernate benzeri
başka bir yapıya geçersek işimize yarar !?
* Tam olarak bir ara katman olmasa da, kurumsal uygulamalarda izlenen
belli bir pattern var mıdır nhibernate kullanmak için. Yoksa standart,
db işi yapılacağı zaman, entity ni oluştur, nhibernate sessionına
kaydet ve kapat şeklinde midir?
* Son olarak da, nhibernate i WCF üzerinden bir servis olarak sunma
işini yapan gören duyan var mıdır acaba?
(net.tcp)
Aslında daha başka sorularım da olabilir, ancak onları da bilgili
arkadaşların cevapları doğrultusunda yönlendirebilirim. Şimdiden çok
teşekkürler.
İyi çalışmalar.