Normalde Nettiers yazdığınız custom stored procedure leri kendi formatında yazdığınızda ilgili tablonun Provider ına eklemektedir. Ancak bir şekilde katman basılamıyor ise yada bastırmak istemiyorsanız. Yazdığınız procedureleri yine kullanabilirsiniz. Bunun için aşağıdaki gibi tabloProviderBase üzerinde bulunan Fill(..) methodunu ve DataRepository.Provider.ExecuteReader(..) methodunu birlikte kullanarak TList şeklinde bir sonuç elde edebilirsiniz.
YilmazYavuzCom.Data.Bases.YazilarProviderBase.Fill( DataRepository.Provider.ExecuteReader(CommandType.StoredProcedure, "spDistictYazilar") ,new TList<Yazilar>(),0,1000);
Fill methodunda ilk parametre IDataReader tipinde ve bunu elde etmek için ExecuteReader(..) methodundan faydalanıyoruz. bu method bize istediğimiz procedure u çalıştırarak sonucu IDataReader tipinden döndürüyor.
İkinci parametre IDataReader dan aldığı değerleri ekleyeceği collection ı istemekte. Ben burda yeni bir collection oluşturup gönderiyorum.
Üçüncü parametre Reader üzerindeki kaçıncı elemandan eklemeye başlayacağını belirtiyor.
Dördüncü ise en son kaçıncı elemana kadar okuyacağını belirtiyor.
Methodun geri dönüş değeri ise TList<Yazilar> tipinde ve bizim gönderdiğimiz collection ı bize geri döndürüyor.
netTiere sık yazı eklemeye başlaman sevindirici, takpteyiz.
Üzerinde çalıştığımız projede kullandığımız için aklıma geldikçe hem takım arkadaşları için hemde meraklıları için ekliyorum