Aspnet MVC İle Custom SQL Kullanmak
-
Bunu soyleyenler bence kural adamlari.
ben klasik asp'den geldigimden bu daha kolay geliyor. ayriyetten database'de ne donuyor ne nereye baglaniyor hangi indexi kullanarak bu sorgu calisti kacak indexim varmi diye takip etmek icin direk sql sorgumu ben yazarim diyip sql kismindan kurtuluyorum.
Ustune gidip her sorgunun ciktisi icin ayri bir class mi yazicam. Bence bu mantikli degil. X rapor icin 10 tane class Y rapor icin 2 tane class. bunun filtreleme zimbirtilari icin ayri class lar MVC sadelestirmek icin kullanilirken buyuk projelerde ufak degisiklikleri zorlamaya basliyor.
Ufak kisimlarda dataTable'i return et kurtul bence. Ben boyle yapiyorum emin ol sorunsuz calismakta ve Model'i surda doldur burda doldur diyen'ede gitsin datatable'i ayni kolon adi ile istedigi yerde doldursun aynen projesini kullansin.
-
rakkoc bunu yazdı
Bunu soyleyenler bence kural adamlari.
ben klasik asp'den geldigimden bu daha kolay geliyor. ayriyetten database'de ne donuyor ne nereye baglaniyor hangi indexi kullanarak bu sorgu calisti kacak indexim varmi diye takip etmek icin direk sql sorgumu ben yazarim diyip sql kismindan kurtuluyorum.
Ustune gidip her sorgunun ciktisi icin ayri bir class mi yazicam. Bence bu mantikli degil. X rapor icin 10 tane class Y rapor icin 2 tane class. bunun filtreleme zimbirtilari icin ayri class lar MVC sadelestirmek icin kullanilirken buyuk projelerde ufak degisiklikleri zorlamaya basliyor.
Ufak kisimlarda dataTable'i return et kurtul bence. Ben boyle yapiyorum emin ol sorunsuz calismakta ve Model'i surda doldur burda doldur diyen'ede gitsin datatable'i ayni kolon adi ile istedigi yerde doldursun aynen projesini kullansin.
Neresinden düzelteyim bilemedim, ama bayağı bilgi eksikliği ve buna bağlı ön yargı var MVC ye sanırım, ama ilk hata; kendine göre düzen kuralları olan bir yapıya geçip, bunu düzensiz kullanmaya çalışmak.
ORM kullandığınızda sorgularınızı elle yazmanıza gerek kalmıyor, sorguların çıktısı (!) için class yazmak diye bir şey ise söz konusu değil, direkt tek satır lambda ile eşşek kadar sorguyu oluşturabilirsin, hem de hardcoded stringler ve magic numberlar kullanmadan. Bu ve bunun gibi sebeplerle MVC sadeleştirmek için değil, büyük projeler üretip, her boyuttaki değişikliği sorunsuz yapabilmeyi sağlıyor.
Ufak kısımda da büyük kısımda da, zaten elinin altında generate edilmiş duran modelini doldurur view'ına gönderirsin, ya da bunu list yapar gönderirsin, karşı tarafta da direkt nesneyi alır kullanırsın, olabilecek en basit senaryo ve nesne tabanlı bir kullanım örneği bu. Fakat verini çekip, datatable a doldurup, karşı tarafta kolon adlarını tekrar yazarak forla dönmek vs. basit işi uzatan, nesne tabanlı programcılığı öldüren, en azından MVC içersinde olmaması gereken şeyler, kural adamı olmak değil bu, doğrusunu bilmek.
Proje büyüdükçe, database'e yeni alanlar eklendikçe, değiştirildikçe, her view'a her controllera her modela koşup elle field adlarını, sorguları, her naneyi tekrardan düzeltecek olmak, ve bunu pratik bulmak MVC yi aslında tam olarak anlamadığın anlamına geliyor hocam.
-
benimde ilk mvc ye başlarken kafamda böyle soru işaretleri vardi,başladiğimda ise iyiki asp.net ten iyi ki geçiş yaptim mvc ye dedim bende entity değilde ado.net kullaniyorum. Ama datatable falan yok connected mimariyle çalişiyorum şu ana kadar bir sikinti çikmadi yaptiğim birkaç tane site var mvc ile . Bazan günde 20bin trafiği görüyor bir sorun çikmadi tikir tikir çalişiyor ayrica ado.net le daha hizli çalişiyor
