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 MVC ile Entity Framewok Kullanımı 1

Merhaba Arkadaşlar, Bu yazımızda ASP.NET MVC Web Programlamada çok fazla kullanılan ve çok popüler bir paket olan Entity Framework paketini inceleyeceğiz. Entity Framework paketi, .NET altyapısı ile veritabanı programlama yapanlar için kullanımı kolay ve çok esnek bir pakettir. Entity Framework ile veritabanı üzerinde SELECT,INSERT,DELETE ve UPDATE gibi işlemleri yapabiliriz. Bunun yanında veritabanı üzerinde oluşturulmuş olan stored procedureleri çalıştırabiliriz. Peki progr amcılar neden Entity Framework tercih ediyor ? Performans, işlem çeşitliliği ve kodun okunurluğunun artması gibi sebeplerden ötürü tercih edilmektedir. Entity Framework paketini kullanmadan önce bu paketi projemize yüklemeliyiz. Bunun için Nuget Manager kullanarak yükleme işlemini yapmamız gerekiyor.  Projemizin seçeneneklerinde Manage Nuget Packages seçeneği ile paket yöneticisini açıyoruz(Resim 1). Daha sonrasında, Entity Framework kelimesini aratıyoruz ve install ediyoruz(Resim 2). Resim 1 ...

Powershell ile Windows Restart Kontrolü

Powershell ile Windows üzerinde birçok işlemi daha kolay ve daha kısa sürede yapabilmek mümkündür.  Microsoft, PowerShell'i "görev tabanlı .NET Framework üzerine inşa edilmiş komut satırı shell'i ve komut dizesi olarak tanımlıyor. Powershell'in avantajlarını ise aşağıdaki maddeler ile özetlemek mümkündür. Powershell hem command-line olarak hemde bir scripting language olarak çalışmaktadır. Powershell baş döndürücü sayıda teknolojiyle etkileşim kurabilir.(.NET Framework, the Registry, COM, WMI, ADSI. Exchange, Sharepoint, Systems Center, Hyper-V, SQL.  VMware vCenter , Cisco UCS, Citrix XenApp and XenDesktop. REST APIs, XML, CSV, JSON ...) Powershell nesne tabanlıdır.(Object-Oriented) Bilgisayarımızda ya da sunucumuzda zaman zaman yüklediğimiz programlar ve patchler sonucunda restart işlemi gerekebilir ve bu restart işlemi gerekip gerekmediğini tespit etmek için Powersehell kullanılabilir.  Aynı anda 100 sunucuda bunu öğre...