Ana içeriğe atla

ASP.NET MVC ile Entity Framework Kullanımı 3(Sum-Average-Top)

Merhaba Arkadaşlar,

ASP.NET MVC ile Entity Framework kullanımı yazılarımıza devam ediyoruz. Geçen yazılarımızda Select ve Insert işlemlerini tanıtmıştık kısaca. Bu yazımızda ise,Entity Framework ile daha profesyonel ve advanced select operasyonları üzerinde çalışmalar yapacağız.

Veritabanı üzerinde,iş biriminin istekleri basit select sorgusu ile olmayabiliyor. Bizden çekilen verilerin toplanması,ortalanmasının alınması ve ilk "x" kayıdın çekilmesini talep edebiliyorlar. Bu nedenle bu hafta Entity Framework ile Select operasyonlarında gruplama,sıralama ve top konularını inceleyeceğiz.


Entity Framework İle Sum Kullanımı

Bazen elde edilen verilerden toplam operasyonu gerekmektedir. Bu tarz durumlarda,SUM özelliğini kullanmaktayız. İlk etapta, GetTotalRate isminde integer değer geri veren bir fonksiyon oluşturduk. Daha sonrasında ise ToplamRate isimli değişkenimize EmployeePayHistories tablosunda Rate alanlarının toplam değerini hesaplatıp sonucu atadık. En sonrasında ise,ToplamRate isimli değişkenimizi geri döndürdük.


1
    2
    3
    4
    5
    6
    public int GetTotalRate ()
            {
                int ToplamRate = Convert.ToInt32(((from t in db.EmployeePayHistories select t.Rate).Sum()));
                return ToplamRate;
    
            }
    

Entity Framework ile Average Kullanımı


Average ise elde edilen değerlerin ortalamasını alan fonksiyondur. Bunun için aşağıdaki kodları inceleyebilirsiniz.Çalışma mantığı sum ile aynıdır.

1
    2
    3
    4
    5
   public int GetAverageRate()
            {
                int AverageRate = Convert.ToInt32(((from t in db.EmployeePayHistories select t.Rate).Average()));
                return AverageRate;
            }
    

Bu kod bloğu SQL Server üzerinde tam olarak aşağıdaki işlemi yapmaktadır.  Biz bu işlemi uygulama katmanı üzerinden yapmış olduk.



Entity Framework ile Top Kullanımı

Veriler ile işlem yaptığımız için zaman zaman tüm verileri select etmek istemeyiz. Çünkü tüm veriye ihtiyacımız olmayabilir ya da tüm veriyi çekmek fazla kaynak tüketebilir tablo boyutu nedeniyle.. Bu nedenle, top özelliğini kullanmaktayız. Tablodan ilk 100 kayıdı çekmek için yada ilk 1000. İstediğimiz sayıda en üstteki kayıdı çekebiliriz.  Kullanım örneğini aşağıda görebilirsiniz.



1
    2
    3
    4
    5
    6
    7
    8
        public ActionResult Index()
            {
    
                List<Employee> Top100Calisan = new List<Employee>();
                Top100Calisan = db.Employees.Take(100).ToList();
    
                return View(Top100Calisan);
            }
    


List<Employee> Top100Calisan = new List<Employee>();
Top100Calisan isminde bir Employee listesi oluşturulur.
Top100Calisan = db.Employees.Take(100).ToList();
Veritabanındaki Employees tablosundan Take(100) komutu ile ilk 100 kayıt çekilir.
return View(Top100Calisan);
Top100Calisan listesi view'a gönderilir.



Bu yazımızda Sum-Average-Top kullanımını inceledik. Sum ve Average MVC teknolojisinde LINQ kullanarak yapıldı. Top ise Entity Framework kullanarak yapılmıştır. Bunlar üzerine birkaç pratik yapmanızı tavsiye ederim.

Saygılarımla,
Görüşmek üzere.



Yorumlar

Bu blogdaki popüler yayınlar

ASP.NET Core ile Visual Studio Code Ortamında Web API Geliştirmek

Merhaba Arkadaşlar, Önceki yazılarımızda MVC ile Web Programlama üzerine çalışmalar yapmıştık. Bu yazımda herkesin aklında bir fikir ve önbilgi oluşturmak adına MVC yapısından farklı olarak Web API konusuna giriş yapacağız. MVC yazılarına bu hafta devam etmedik çünkü MVC'ye devam ettikçe bazı kavramlar ve işlemler API ile daha kolay çözülebileceğini fark edeceksiniz. Bunu fark etmeniz için araya hem bir Web API yazısı koymuş olduk hem de .NET Core 2.0 ve Visual Studio Code ortamlarını tanımış olduk. Herşeyi ezbere bilmek zorunda değiliz ama en azından bazı kavramlar aklımızda yer etmeli bir önbilgimiz olmalı. Uzmanlığımız dışında bile olsa farklı konularda az da olsa bilgimiz olmalı ve gerektiğinde kendimizi farklı bir alanda diğer kişilerden daha hızlı uzmanlık kazanacak konuma getirmeliyiz :) Benim yorumlarım bu şekilde. Konumuza başlayacak olursak .NET Core nedir kısaca özetlemek gerekecek. Microsoft’un öncelikle IIS üzerinde PHP dosyalarının çalıştırılabilmesi daha

Python Değişkenler ve IF Kullanımı

Merhaba Arkadaşlar, Python Kurulumu işlemlerini tamamladıktan sonra artık python'da syntax kullanımı ve ufak çaplı modüler işlemler için hazırlıklar tamamlanmıştır. Python Kurulumu ve Bilgilendirme yazımızı kontrol etmediyseniz  https://selfarrival.blogspot.com.tr/2017/09/python-kullanm-avantajlar-ve-dogru.html   bu linke göz atabilirsiniz. Programlama dillerinde ilk aşamalar olarak, ilgili dilin syntax'ını kavramak amacıyla, temel programalama komutlarını yeni öğrenenilecek yazılım dilinde küçük örneklerle birlikte kullanılmaktadır. Bu yazımızda python üzerinde bu işlemler yapılacaktır. Python Değişkenler Python'da özel olarak bir değişken tipi tanımlanmaz. Yani birçoğumuzun alışık olduğu değişken tanımala tipinden farklıdır.  #Variables kısmında olduğu gibi değişken adı ve ilk etapta initialize edilecek value tanımlanmaktadır. #Variables PYTHON ile float ve integer tipindeki değişkenlerin toplanması ve ekrana bastırılması için gereken kod blo