Aspnet MVC İle Custom SQL Kullanmak
-
Artık bende mvc kullanayım diyorum ama en büyük problemim database işlemlerinde kendi yazdığım sorguları kullanamamak.
ADO.NET mimarisini kullansam MVC'ye aykırı olacağını düşünüyorum. Öte yandan code first mantığı ile db otomatik oluşturulduğunda arkada ne dönüyor pek hakim olamadığımdan onuda sevemedim ayrıca sonradan table değişiklikleri falan bi ton angarya iş olarak geliyor.
Kafam çok karışık bu mvc konusunda özellikle 30 bin kayıttan sonra bi tabloda ilk 20 kayıt göstermek için bütün tabloyu çektiğini gördüm o yüzden adonet ile bizim yazdığımız sql çalışsın istiyorum.
Böyle yüksek kayıtlı tablo ile çalışan MVC nasıl yazarız var mı yol gösterecek bi akıl verecek teşekkürler
-
http://www.bipinjoshi.net/articles/fbc96859-8a31-4735-baeb-7adcbc521b30.aspx
şöyle bir şey var aslında. Daha buldukça eklerim buraya
-
MVC yi yanlış tanıyorsun, bu sadece patternin adı, senin kullandığın db katmanından tamamen bağımsız bir şey.
Table değişikliği field değişikliği vs. işleri için modelindeki ilgili alanın kodunu değiştirmen yeterli, db yi kendi create edip migrate ediyor, yani asıl angaryadan kurtuluş mantığı bu.
"Tüm tabloyu çekti" olayı da tamamen developerın bilgisizliğinden oluşuyor, entity framework kullandığını farzedelim, sen ona tüm kayıtları getir dersen o da getirir, ama bir kritere göre (where) gereken kayıtları istersen, o arkada zaten senin elle yazacağın tsql kodunu yazar gönderir, ve sadece lazım olan kayıtları getirir.
Biraz daha araştırmalısın.
-
bu arada dapper da ii bir çözümdür.
https://github.com/StackExchange/dapper-dot-net
-
Yorumlarını dikkatle inceliyorum.
Projenin basitce alt yapısını oluşturmaya çalışıyorum şuan. Önceden databasei oluşturdum. Model klasörüne geldim Üyeler tablomun nesnesini ürettim. Bol inner joinli bir sorgu lazım oldu o yüzden onu elle özel tsql yazmak istiyorum bu aşamada bir örnek verebilirseniz harika olur.
-
hocam lambda expression ya da linq ile join li fonksiyonlar yazabilirsin zaten. bunlarla ilgili derslere bakabilirisn.
ayrıca entity frameworkda da sql sorguları kullanabilirsin. ama mantıksız olur da yine senin bileceğin iş
edit: 2. mesajda arkadaş link vermiş oradaki örneği kullanabilrisin
unbalanced tarafından 10/Eki/14 12:23 tarihinde düzenlenmiştir -
Hocam hazır yeni şeylerle ilgilenmeye başlamışken Entity Framework bakmanda faydalı olabilir.
-
hocam normal Dataset datatable sqlConnection DataAdapter gibi objeleri de kullanabilirsin mvc ile.
entitynin eski versionunda evet 30bin kayit'in hepsi geliyordu artik gelmiyor/ .skip(60).take(20) gibi bir sekilde atla al yapabiliyorsun.
ERC'nin paylastigini ben daha once bir gozgezdirip kendi query executer class'imi yazdim. her controlleri base conterlerdan turetiyorum. bu base controllerdada o executer class'i yaratiyor yikici fonksion ile de kapatiyorum. bu sayede kodlama sureci daha hizli hemde db'ye ve koda hakim bir yapi olusturmus oluyorum.
DB'de indeximi vs takip ettigimde suan 7m transaction ile donen bir odeme sisteminde bu yapi ile devam etmekteyim. Raporlama kismini ERC yazdi, gelistirmek kolaymi zormu kendi soylesin.
View'e de datatable'i parametere geciyorum.View'in basinda
@using System.Data dedinmi rows. coloumns aynen babalar gibi kullanima musait. for dongusu ile bir table'a basip ekrana o an kadarini da verebiliyorum.
-
rakkoc bunu yazdı
hocam normal Dataset datatable sqlConnection DataAdapter gibi objeleri de kullanabilirsin mvc ile.
entitynin eski versionunda evet 30bin kayit'in hepsi geliyordu artik gelmiyor/ .skip(60).take(20) gibi bir sekilde atla al yapabiliyorsun.
ERC'nin paylastigini ben daha once bir gozgezdirip kendi query executer class'imi yazdim. her controlleri base conterlerdan turetiyorum. bu base controllerdada o executer class'i yaratiyor yikici fonksion ile de kapatiyorum. bu sayede kodlama sureci daha hizli hemde db'ye ve koda hakim bir yapi olusturmus oluyorum.
DB'de indeximi vs takip ettigimde suan 7m transaction ile donen bir odeme sisteminde bu yapi ile devam etmekteyim. Raporlama kismini ERC yazdi, gelistirmek kolaymi zormu kendi soylesin.
View'e de datatable'i parametere geciyorum.View'in basinda
@using System.Data dedinmi rows. coloumns aynen babalar gibi kullanima musait. for dongusu ile bir table'a basip ekrana o an kadarini da verebiliyorum.
Dostum DataTable kullanmak, forla dönmek falan mvc içinde olmaması gereken şeyler, data taşımak için kendi modellerinizi kullanmanız gerekirdi, neden böyle bir şey yaptınız?
Hem entity frameworku ilk versiondan beri kullanıyorum, tamamen senin koduna bağlı şekilde çalışıyor, öyle tüm datayı falan getirmiyor, abest olurdu zaten öyle olması. Siz lambda da koşulu vermeden direk ToList falan yapıyorsunuz sanırım.
-
trampfd bunu yazdırakkoc bunu yazdı
hocam normal Dataset datatable sqlConnection DataAdapter gibi objeleri de kullanabilirsin mvc ile.
entitynin eski versionunda evet 30bin kayit'in hepsi geliyordu artik gelmiyor/ .skip(60).take(20) gibi bir sekilde atla al yapabiliyorsun.
ERC'nin paylastigini ben daha once bir gozgezdirip kendi query executer class'imi yazdim. her controlleri base conterlerdan turetiyorum. bu base controllerdada o executer class'i yaratiyor yikici fonksion ile de kapatiyorum. bu sayede kodlama sureci daha hizli hemde db'ye ve koda hakim bir yapi olusturmus oluyorum.
DB'de indeximi vs takip ettigimde suan 7m transaction ile donen bir odeme sisteminde bu yapi ile devam etmekteyim. Raporlama kismini ERC yazdi, gelistirmek kolaymi zormu kendi soylesin.
View'e de datatable'i parametere geciyorum.View'in basinda
@using System.Data dedinmi rows. coloumns aynen babalar gibi kullanima musait. for dongusu ile bir table'a basip ekrana o an kadarini da verebiliyorum.
Dostum DataTable kullanmak, forla dönmek falan mvc içinde olmaması gereken şeyler, data taşımak için kendi modellerinizi kullanmanız gerekirdi, neden böyle bir şey yaptınız?
Hem entity frameworku ilk versiondan beri kullanıyorum, tamamen senin koduna bağlı şekilde çalışıyor, öyle tüm datayı falan getirmiyor, abest olurdu zaten öyle olması. Siz lambda da koşulu vermeden direk ToList falan yapıyorsunuz sanırım.
Hocam kendi objemizi return etmek ile kendi objemizin datasini tutan bir datatable return etmek arasinda nasil bir fark var ?
-
rakkoc bunu yazdıtrampfd bunu yazdırakkoc bunu yazdı
hocam normal Dataset datatable sqlConnection DataAdapter gibi objeleri de kullanabilirsin mvc ile.
entitynin eski versionunda evet 30bin kayit'in hepsi geliyordu artik gelmiyor/ .skip(60).take(20) gibi bir sekilde atla al yapabiliyorsun.
ERC'nin paylastigini ben daha once bir gozgezdirip kendi query executer class'imi yazdim. her controlleri base conterlerdan turetiyorum. bu base controllerdada o executer class'i yaratiyor yikici fonksion ile de kapatiyorum. bu sayede kodlama sureci daha hizli hemde db'ye ve koda hakim bir yapi olusturmus oluyorum.
DB'de indeximi vs takip ettigimde suan 7m transaction ile donen bir odeme sisteminde bu yapi ile devam etmekteyim. Raporlama kismini ERC yazdi, gelistirmek kolaymi zormu kendi soylesin.
View'e de datatable'i parametere geciyorum.View'in basinda
@using System.Data dedinmi rows. coloumns aynen babalar gibi kullanima musait. for dongusu ile bir table'a basip ekrana o an kadarini da verebiliyorum.
Dostum DataTable kullanmak, forla dönmek falan mvc içinde olmaması gereken şeyler, data taşımak için kendi modellerinizi kullanmanız gerekirdi, neden böyle bir şey yaptınız?
Hem entity frameworku ilk versiondan beri kullanıyorum, tamamen senin koduna bağlı şekilde çalışıyor, öyle tüm datayı falan getirmiyor, abest olurdu zaten öyle olması. Siz lambda da koşulu vermeden direk ToList falan yapıyorsunuz sanırım.
Hocam kendi objemizi return etmek ile kendi objemizin datasini tutan bir datatable return etmek arasinda nasil bir fark var ?
yorumlara göre datatable return edeceksen git web form yaz demek istiyorlar hocam
