Asp.Net ten Mvc ye Geçiş
19
●4.806
- 11-06-2014, 17:14:03EF kullanırsan çok az sql yada hiç sql kullanmaz orm nin tadına varırsın, ama dikkatsiz kullanırsan bu sefer performans kaybedersin.
PETAPOCO, Service Stack orm lite, Dabber bunlar çok hızlı sonuç veren micro orm ler. Elle kod yazarsın ama sqlconnection(dbconnection) a extension oldukları ve direkt db ye bağlandıkları için performans %80 - 90 artıyor. - 12-06-2014, 19:33:55Proje geliştirirken kendi ORM'mi oluşturmaktayım. EF'ye kıyasla hissedilir performans yaşanır mı?PcMaKeR adlı üyeden alıntı: mesajı görüntüle
Kendi yapımı oluşturunca projeye daha hakim hissediyorum kendimi bu yüzden kodlamam daha rahat oluyor. - 12-06-2014, 23:15:14Performans olarak EF en yavaş orm lerden biridir zaten. Eğer yerleşik sınıfları kullanıyorsan performansın yüksektir ama EF nin en büyük artısı linq ile sorgu oluşturman ve bir çok kodlama işini ve şablon oluşturmaları visual studio ya bırakman çok rahatlatıyor ve kodlama zamanın çok azalıyor.aliarbak adlı üyeden alıntı: mesajı görüntüle
Ben en son 2 yıl önce kendi DAL ımı yapıyordum. Senin yaptığında büyük olasılık DAL dır.(Data Access Layer) ORM ise ap ayrı bir konu. Hiç sql kodu yazmadan tamamen DAL ın kendisi senin yerine işlemleri yapacak. Şimdi diyeceksin ki e ben zaten yaptırıyorum bu işlemi.
http://en.wikipedia.org/wiki/Object-relational_mapping
Açıkçası şuan linux üzerinde nginx + mono + asp.net mvc 4 ü çalıştırmaya çalışıyorum. Bir projemi komple ubuntu server a taşıyacağım. IIS ve windows ile yetirince ASP.NET te taklalar attım. Windows bellek kullanımı konusunda yüksek ram tüketiyor. Freebsd üzerinde tam istikrarlı çalışmaya başladığında onun üzerine geçireceğim büyük olasılık projelerimi. Şimdilik ubuntu server ile yola devam.
Mono Şuan için:
MVC 5 çalışmıyor, çünkü async yapısı daha tamamen geçirilmedi mono ya ama öbür türlü Web Forms ve MVC 4 ve öncesi çok tutarlı çalışıyor.
Bitirirsem kendi sitemi açıp oradan yayınlayacağım makaleleri. - 13-06-2014, 07:46:08Üyeliği durdurulduPerformans olarak Entity Framework en yavaş ORM'lerden biri demişsiniz, dikkat ettiğimde çoğu firmalar EF ile çalışıyor ve en yaygını EF diye biliyorum. Sizin önerilerinizi alabilirmiyim ORM konusunda.PcMaKeR adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 09:17:40https://code.google.com/p/dapper-dot-net/Quismo adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 09:47:07Üyeliği durdurulduen hantalı Entity olarak görüyorum linkte. İlginç. neden en popüleri entity olarak görünüyor ve kullanımı yaygın acaba ?PcMaKeR adlı üyeden alıntı: mesajı görüntüle
- 13-06-2014, 11:07:19Microsoft sağolsun, visual studio ya entegre, durmadan geliştiriliyor, wcf data services ile kardeş gibi çalışıyor, tamamen linq ile tek satır sql kodu yazmadan işleri hızlandırıyor, lazy loading var, stored procedure'leri tıklama ile entiry e bağlamak çocuk işi, dökümantasyon çok güçlü.
Bunlar artı yönlenleri. Ama eksikleri var. Misal en gıcık olduğum: select işleminde isimsiz sınıf tanımlanamıyor! Tip çevirmelerde illa bir değişkeni göstermek gerekiyor. Örnek:
bu sorun değil, tamamen okunaklı ve type safe bir kod ama bazı durumlarda fıtık edebiliyor.Alıntı
şu ise feci küfür savurtuyor!
Direkt hata fırlatacak bu. Kompleks bir sınıf istedin ve ben bunu çeviremem diyecek! LinqToSql de bu direkt çalışıyordu...Alıntı
Yukarıdaki kod şunu üretip geriye propertieslerine atanan verileri vermesini beklersin:
select t.Id, t.SilindiMi, t.Adi from Tablo t WHERE t.Id>10 and t.SilindiMi = False;
Ama hata fırlatıyor!
Şöyle yaz diyor:
bu sefer de sorguda bütün sütunlar çekiliyor! Ve bellekte tekrar foreach dönerek senin listeni dolduruyor! Oluşturduğu sorguları görsen korkarsın. IntelliTrace i açıp debug anında bir breakpoint koy şu satırın altına ve dataContext üzerinde dur. Oluşan sorgular insanı korkutuyor.Alıntı
Anlamadığım şu: EF iç içe sorgu oluşturuyor. Bu da performansı çok düşürüyor. Özellikle veri çekip bu veriyi farklı bir sorgu ile tekrar işlemek gerektiğinde resmen felç ediyor. İşlemcinin tavan yaptığını gördüm bir projede. İşin yoksa kastır dur.
Bir çok orm tool var:
Telerik:
http://www.telerik.com/data-access/g...tity-framework
Karşılaştırmalar:
http://stackoverflow.com/questions/3...amework-4-ctp4
Valla en hızlısı dabber ve ardından petapoco geliyor. Ama amelelik yaptırıyor mu? Evet, dizayn aracı yok. 4T template kabul ediyorlar ama uğraşıyorsun.