Entity Framework, NET ile açık kaynak kodlu bir nesne ilişkisel eşleme çerçevesidir Veri tabanı işlemlerini basitleştirir ve uygulama geliştirme sürecini hızlandırır Entity Framework Nedir? Yararları nelerdir? Tek bir makalede tüm cevapları bulun Okumak için hemen tıklayın!

Entity Framework, veri tabanı işlemlerini kolaylaştırmak amacıyla Microsoft tarafından geliştirilen bir ORM (Object-relational mapping) aracıdır. ORM araçları, veri tabanı işlemlerini nesne yönelimli olarak yapmamızı sağlarlar. Entity Framework, .NET Framework içerisinde yer alır ve .NET Framework açısından oldukça önemlidir.
Entity Framework, veri tabanı bağlantısını ve yönetimini üstlenir ve programlama işlemlerimizi daha kolay ve hızlı hale getirir. Veri tabanı işlemlerinde genellikle SQL dilleri kullanılır ancak Entity Framework ile bu işlemler daha kolay bir şekilde yapılabilir. Entity Framework'ün amacı, veri tabanı ile çalışırken daha az kod yazmamızı ve daha az hata yapmamızı sağlamaktır. Ayrıca, veri tabanı işlemlerini nesne yönelimli olarak yapmamızı sağlar.
Entity Framework, veri tabanı işlemleri yaparken LINQ (Language Integrated Query) kullanır. LINQ, .NET Framework bünyesinde bulunan bir sorgu yapısıdır. LINQ, Entity Framework ile birlikte kullanıldığında veri tabanı işlemlerimizi daha hızlı ve kolay hale getirir.
Entity Framework'ün bir diğer amacı da katmanlı mimariyi desteklemektir. Katmanlı mimari sayesinde uygulama geliştirirken kodlarımız daha düzenli ve anlaşılır bir hale gelir.
Veri Sorgulama İşlemleri
Entity Framework, .NET Framework'ün bir parçası olarak sunulan açık kaynaklı bir nesne ilişkisel eşlem çerçevesidir. Bu çerçeve, verileri veritabanlarından yönetmek için kullanılır ve daha önceki veritabanı yöneticilerinin yerini almıştır. Entity Framework, .NET programlama dili ile birlikte çalışır ve veriler arasında bağlantı oluşturma işlemlerini hızlandırır.
Entity Framework'ün en önemli özelliklerinden biri, veri sorgulama işlemlerini kolaylaştırmasıdır. Veri sorgulama işlemleri, veritabanından verileri çekme ve arama işlemleridir. Entity Framework ile veri sorgulama işlemlerini LINQ sorguları veya Raw SQL komutları kullanarak yapmak mümkündür.
LINQ (Language Integrated Query), bu kapsamda en popüler sorgulama yöntemlerinden biridir. LINQ, query ifadesini kullanarak veriyi sorgulamaya olanak sağlar. Entity Framework ile LINQ kullanarak veri sorgulama işlemleri hızlı ve verimli bir şekilde gerçekleştirilir. Where metodu, veri sorgulama işlemlerinde sıklıkla kullanılan bir metottur. Where metodu, sorgulama kriterine göre bir liste döndürür.
Örnek: |
---|
var query = from p in context.Products |
OrderBy ve ThenBy metotları, sorgu sonuçlarını belirli bir ölçüte göre sıralamak için kullanılır. OrderBy metodu, verileri birincil ölçüte göre sıralar ve ThenBy metodu, verileri ikincil ölçüte göre sıralar.
Örnek: |
---|
var query = from p in context.Products |
Raw SQL komutları da Entity Framework ile kullanılabilir. Entity Framework, veri sorgulama işlemlerinde SQL ile doğrudan haberleşme yapabilme özelliğine sahiptir. SqlQuery metodu, SQL sorgularını çalıştırmak için kullanılır ve sorgu sonuçlarını Entity Framework için uygun bir biçimde dönüştürür. Database.SqlQuery metodu ise herhangi bir doğrudan SQL sorgusunu çalıştırmak için kullanılabilir.
Örnek: |
---|
var query = context.Database.SqlQuery<Product>("SELECT * FROM Products WHERE ProductName='Chai';"); |
Entity Framework ile veri sorgulama işlemleri, LINQ sorguları veya Raw SQL komutları kullanarak hızlı ve güvenli bir şekilde gerçekleştirilebilmektedir.
LINQ Kullanarak Veri Filtreleme
LINQ, Language Integrated Query'nin kısaltmasıdır. Entity Framework kullanılarak veri filtreleme işlemleri yapılabilir ve LINQ kullanarak kodların daha okunaklı hale getirilmesi mümkündür. LINQ kullanarak filtreleme işlemleri yapmak oldukça pratiktir ve hızlıdır.
LINQ kullanarak filtreleme işlemleri yapmanın bir örneği, Where metodu kullanılarak gerçekleştirebilir. Bu örnekte, ürünler tablosundan satış fiyatı 10 TL'den fazla olan ürünleri seçeceğimiz bir filtreleme işlemi yapılmaktadır. Kod yapısı aşağıdaki gibi olacaktır:
```var sonuc = db.urunler.Where(x => x.satış_fiyatı > 10).ToList();```
Yukarıdaki kodda db.urunler ile ürünler tablosuna erişim sağlanmış ve Where metodu kullanarak filtreleme işlemi gerçekleştirilmiştir.
Bir diğer filtreleme yöntemi ise Any ve All metotları kullanarak yapılabilir. Any metodu ile listede en az bir öğe bulunduğunda true döndürür, All metodu ise listedeki tüm öğelerin belirtilen koşulu sağlaması durumunda true döndürür.
Örnek olarak, kategori bilgisi belirtilmeyen ürünleri filtrelemek için Any metodu kullanabiliriz. Kod yapısı aşağıdaki gibi olacaktır:
```var sonuc = db.urunler.Where(x => string.IsNullOrEmpty(x.kategori)).ToList();```
Yukarıdaki kodda, kategori bilgisi belirtilmeyen ürünleri filtrelemek için Where ve Any metotları kullanılmıştır.
Bu şekilde LINQ kullanarak veri filtreleme işlemleri yapmak oldukça hızlı ve pratiktir.
Where Metodu Kullanımı
Where metodu, Entity Framework ile birlikte kullanılabilen en popüler filtreleme yöntemlerinden biridir. Bu metot, veritabanından belirli koşullara göre veri çekmek için kullanılır. Where metodu, filtreleme işlemlerinde oldukça etkili bir çözüm sunar.
Where metodu kullanarak, veritabanından belirli koşullara göre veri çekmek mümkündür. Bu yöntem sayesinde kullanıcılar, veritabanındaki belirli bir sütunu filtreleyebilir veya birkaç sütunu birden filtrelemek için koşullar belirleyebilir. Örneğin, bir ürün tablosundaki fiyat sütunundaki değerleri filtrelemek için Where metodu kullanılabilir.
Where metodu kullanarak yapılacak filtreleme işleminde üç parametre kullanılır. İlk parametre, filtreleme yapılacak tablodur. İkinci parametre, filtreleme koşuludur. Üçüncü parametre ise koşulu belirleyen değerdir. Aşağıdaki örnek, bir ürün tablosundan fiyatları 1000 TL'den büyük olan ürünleri döndürür:
var products = dbContext.Urunler.Where(x => x.Fiyat > 1000).ToList();
Yukarıdaki örnekte, Where metodu kullanılarak ürün tablosundan sadece fiyatı 1000 TL'den büyük olan ürünler döndürülmüştür. Bu filtreleme işlemi, veritabanından veri çekme sürecini hızlandırmak için oldukça önemlidir.
Where metodu, Entity Framework ile birlikte kullanılabilecek en popüler filtreleme yöntemlerinden biridir. Bu yöntem sayesinde, belirli koşullara göre veritabanından veri çekmek mümkündür. Filteleme işlemlerinde oldukça etkili bir çözüm sunan Where metodu, veri sorgulama işlemlerinde sıklıkla kullanılmaktadır.
OrderBy ve ThenBy Metodları Kullanarak Sıralama İşlemi Örneği
Entity Framework, veritabanı işlemlerinde oldukça kullanışlı bir araçtır. Veri sorgulama işlemlerinde oldukça fazla tercih edilen Entity Framework'te sıralama işlemi yapmak oldukça basittir. Bu işlemleri gerçekleştirirken, OrderBy ve ThenBy metotları kullanılmaktadır. İsterseniz bir örnek üzerinden nasıl kullanıldığını inceleyelim.
Ürün Adı | Fiyat | Stok Miktarı |
---|---|---|
Kalem | 5.00 TL | 20 |
Defter | 10.00 TL | 30 |
Kitap | 20.00 TL | 10 |
Yukarıdaki tabloda, bir ürün listesi yer almaktadır. Bu ürünleri fiyata göre küçükten büyüğe sıralamak istediğimizi düşünelim. Bunun için aşağıdaki kod bloğu kullanılabilir:
var sıralıUrunListesi = db.Urunler.OrderBy(u => u.Fiyat);
Burada, "db" veritabanı bağlantısı nesnesidir ve "Urunler" veri tabanındaki ürünlerin listesidir. OrderBy metodu kullanılarak, "Fiyat" özelliğine göre küçükten büyüğe sıralama işlemi yapılır. Eğer daha sonra aynı fiyatta olan ürünleri de ayrıca sıralamak istiyorsak, ThenBy metodu kullanılabilir. Örneğin:
var sıralıUrunListesi = db.Urunler.OrderBy(u => u.Fiyat).ThenBy(u => u.StokMiktari);
Burada sıralama, önce "Fiyat" özelliğine göre yapılır. Ardından aynı fiyat aralığındaki ürünler de stok miktarına göre küçükten büyüğe ayrıca sıralanır.
Entity Framework, veri sorgulama ve sıralama işlemlerinde oldukça yararlıdır. Kullanımı oldukça basittir ve güçlü bir şekilde bağlantı kurulmasını sağlar.
Raw SQL Kullanarak Veri Sorgulama
Raw SQL, SQL içeren sorguların direkt olarak veri tabanına yönlendirilmesiyle veri sorgulama işlemidir. Entity Framework, veri sorgulama işlemlerinde Raw SQL kullanımını destekler. Bu yöntem özellikle büyük veri tabanlarında performansı önemli ölçüde artırabilir.
Raw SQL ile veri sorgulama, veri tabanında bulunan her tür sorgu tipini yazma olanağı sağlar. Bu sorgular, veri tabanındaki tüm verileri seçme, toplama, silme, güncelleştirme veya yeni veriler eklemek için kullanılabilir.
Raw SQL örneklerine bakacak olursak, SqlQuery metodu ile özelleştirilmiş bir doğrudan SQL sorgusu oluşturulabilir. Örneğin, "SELECT * FROM Products WHERE ProductName like '%milk%' " gibi bir sorgu, SqlQuery metodu kullanılarak Entity Framework'te uygulanabilir.
Another way to use Raw SQL is through the Database.SqlQuery method. This method allows writing a raw SQL query and returning the results as DbSet
Overall, Raw SQL is a powerful tool for performing complex queries in Entity Framework. However, it should be used with caution and only when necessary. It is important to ensure that the written queries are secure and optimized for performance.
SqlQuery Metodu Kullanımı
Entity Framework ile veri sorgulama işlemleri yaparken SqlQuery metodu kullanarak da veri sorgulama yapabilirsiniz. SqlQuery metodu, SQL sorgusu yazmanıza olanak sağlar ve geri dönen sonuçlar, veri tabanında var olan veriler ile eşleşir. Bu yöntem veritabanındaki verilerin güncellenmesi veya değiştirilmesi gerektiği durumlarda oldukça faydalıdır.
SqlQuery metodu, Entity Framework 6.0 versiyonundan sonra kullanıma sunulmuştur. Bu metotla beraber SQL sorguları yazarak, sorgulama yapabilirsiniz. SqlQuery metodu kullanımı oldukça kolaydır ve kullanıcının SQL sorgusu yazmasına olanak tanır. Basit bir SQL sorgusu örneği ile gösterebiliriz.
Kodu | Açıklama |
---|---|
var result = context.Database.SqlQuery<Person>("SELECT * FROM People WHERE FirstName = 'John'"); | Sql sorgusu yazarak, person nesnesine kaydedilir ve adı John olan kişiler listelenir. |
Yukarıdaki örnekte, context.Database.SqlQuery metodu kullanılarak SQL sorgusu yazılır ve sonuçlar, 'Person' adlı bir nesneye kaydedilir. Adı John olan kişilerin listesi, sorgu sonucunda ekrana getirilir. SqlQuery metodu, sadece okunabilir sonuç setleri için kullanılabilir, ancak veritabanında değişiklik yapmak mümkün değildir.
Entity Framework kullanarak veri sorgulama işlemleri yaparken, SqlQuery metodu, özellikle karmaşık sorgularda oldukça etkilidir. Fakat, SQL enjeksiyon saldırılarına dikkat etmek gerekmektedir.
Database.SqlQuery Metodu Kullanımı
Database.SqlQuery metodu, Entity Framework'teki bir diğer veri sorgulama yöntemidir. Bu yöntem, Entity Framework'ün avantajlarını kullanarak SQL sorguları oluşturmamızı sağlar. Bu yöntem, Raw SQL sorgularından farklı olarak, SQL sorgularını doğrudan veritabanında çalıştırmayı değil, Linq nesneleri döndürmeyi sağlar.Bu yöntemle sorgu çalıştırmak için, ilgili sorgunun SQL kodunu yazmak ve bu kodu Database.SqlQuery metoduna parametre olarak vermek yeterlidir. Bu yöntem, SqlQuery metodundan farklı olarak birden fazla eşleşme durumlarında da kullanılabilir. Ayrıca, bu yöntem, çalıştırdığımız veri sorgusu sonucunda oluşan verileri Entity Framework nesneleriyle eşleştirmemizi sağlar.Örnek olarak, veritabanında bulunan bir "Makale" tablosundaki başlıkların bir listesini almak istediğimizi düşünelim. Bu işlemi Database.SqlQuery metotu kullanarak şu şekilde gerçekleştirebiliriz:```htmlvar basliklar = DbContext.Database.SqlQuery<string>("SELECT Baslik FROM Makale");
```Yukarıdaki kod, Entity Framework'e, "Makale" tablosundaki "Baslik" sütununun tüm değerlerini döndürmek için SQL sorgusu yazdığımızı söyler. Bu sorguyu yürütmek için Database.SqlQuery metotunu kullandık ve sonuç olarak bir liste döndürdük. Dönen nesneler, string veri türündedir.Database.SqlQuery metodu, Entity Framework'deki diğer sorgulama yöntemleri gibi, veri kaynağına olan bağlantıları yönetir ve verileri hafızada saklar. Bu yöntemle veri sorgulama yapmak, veri tabanına çok sayıda sorgu göndermek yerine, daha az sorgu ve daha az ağ trafiğiyle sonuçlar elde etmemizi sağlar.Veri Filtreleme İşlemleri
Entity Framework, veri tabanı nesneleri üzerinde işlem yapmamıza olanak sağlayan bir araçtır. Veri filtreleme işlemleri, veri tabanı işlemlerinde sıklıkla kullanılan işlemlerden biridir. Entity Framework ile veri filtreleme işlemleri oldukça basittir. Bu işlemi gerçekleştirmek için LINQ kullanılabilir.
LINQ (dil entegre sorgulama), Entity Framework ile kullanılan bir sorgulama dili olarak kullanılır. LINQ kullanmak için, System.Linq kütüphanesinin projeye dahil edilmesi gerekmektedir.
Where metodu, Entity Framework ile veri filtreleme işlemlerinde kullanılan bir metottur. Bu metot kullanılarak, koşullara uygun verileri filtreleyebiliriz. Örneğin aşağıdaki kod parçasında, 'Products' nesnesinde fiyatı 50'den büyük olan ürünleri filtreliyoruz.
Kod: | Sonuç: |
---|---|
var products = db.Products.Where(p => p.Price > 50); | Fiyatı 50'den büyük olan ürünler |
Any ve All metotları, Entity Framework ile veri filtreleme işlemlerinde kullanılan diğer metotlardır. Any metodu, listedeki en az bir öğe istenilen koşula uyuyorsa true döndürür. All metodu, listenin tüm öğelerinin istenilen koşula uyduğunda true döndürür.
Örneğin, aşağıdaki kod parçasında 'Products' nesnesinde fiyatı 50'den büyük olan en az bir ürün olduğunda true döndüren bir sorgu görülmektedir.
Kod: | Sonuç: |
---|---|
var result = db.Products.Any(p => p.Price > 50); | true |
Entity Framework ile veri filtreleme işlemleri, LINQ kullanılarak yapılabileceği gibi Raw SQL kullanılarak da gerçekleştirilebilir. Raw SQL kullanımı, özellikle büyük veri tabanlarında performans artışı sağlamaktadır.
LINQ Kullanarak Veri Filtreleme
Entity Framework'teki LINQ sorguları, verilerimizi filtrelemek veya sıralamak için oldukça güçlü bir araçtır. LINQ, Entity Framework'te yalnızca sorgulama dilimizi değil, C# kodumuzun geri kalanını temel alarak sorgu oluşturma aracı olarak da kullanılır.
LINQ sorguları, verileri filtrelemek için kullanılabilecek birçok yöntem sunar. Bunlar arasında Where, Any, All, OrderBy ve ThenBy gibi yaygın yöntemler yer alır. Örneğin, Where metodu kullanarak bir filtreleme işlemi gerçekleştirebiliriz. Aşağıdaki örnek, müşterilerimizden sadece İstanbul'da yaşayanları filtreler:
```var istanbulMusterileri = dbContext.Customers.Where(c => c.City == "İstanbul");```
OrderBy ve ThenBy metotları, verilerimizi belirli kriterlere göre sıralamak için kullanılabilir. Örneğin, aşağıdaki kod müşterilerimizi şehirlerine ve soyadlarına göre sıralar:
```var sıralıMusteriler = dbContext.Customers.OrderBy(c => c.City).ThenBy(c => c.LastName);```
LINQ sorguları, verilerimiz üzerinde daha karmaşık filtreleme işlemleri yapmak için de kullanılabilir. Örneğin, Any ve All metotları herhangi bir veya tüm öğeleri belirli bir koşulu karşılayıp karşılamadıklarını kontrol ederek filtreleme yapabilir. Aşağıdaki örnek, müşterilerimizden herhangi birinin İstanbul'da yaşayıp yaşamadığını kontrol eder:
```var istanbuldaYasayanVarmi = dbContext.Customers.Any(c => c.City == "İstanbul");```
Entity Framework'te LINQ sorgularını kullanarak verilerimizi filtrelemek, sıralamak ve daha karmaşık işlemler gerçekleştirmek oldukça kolaydır. Bu sorgular, veri tabanımızla etkileşimde bulunmanın en popüler yollarından biridir.
Where Metodu Kullanımı
Entity Framework ile veri filtreleme işlemleri oldukça esnek bir şekilde yapılabilir. Bu işlemler içerisinde en çok kullanılan yöntemlerden biri Where metodu kullanımıdır. Bu metot, belirli koşullara göre filtreleme işlemi yapmanızı sağlar.
Where metodu kullanarak veri filtreleme işlemini örnekleyelim. Diyelim ki bir kategori tablonuz var ve sadece aktif kategorileri listeleyerek bir rapor almak istiyorsunuz. Bu işlemi Where metodu kullanarak gerçekleştirebilirsiniz. Aşağıdaki kod örneğinde, Kategori adı "Elektronik" olan ve "Aktif" durumda olan kayıtları listeler:
```c#using (var context = new MyContext()){ var aktifElektronikKategorileri = context.Kategoriler .Where(k => k.Aktif == true && k.KategoriAdi == "Elektronik") .ToList();}```
Bu kodun çalışması sonucunda aktif olan ve adı "Elektronik" olan kategorileri listeleyen bir sorgu oluşturulur.
Where metodu ile filtreleme işleminde kullanılan operatörler arasında "==" (eşittir), "<" (küçüktür), ">" (büyüktür), "<=" (küçük eşittir), ">=" (büyük eşittir), "!=" (eşit değildir) gibi operatörler bulunur. Bu operatörler farklı veri türleri ile de kullanılabilir.
Where metodu ayrıca birden fazla koşulda filtreleme işlemlerinde de kullanılabilir. Örneğin, belirli bir fiyat aralığında olan ve belirli bir markaya ait olan ürünleri filtrelemek için şu şekilde bir kod yazabilirsiniz:
```c#using (var context = new MyContext()){ var filtrelenmisUrunler = context.Urunler .Where(u => u.Fiyat >= 100 && u.Fiyat <= 500 && u.Marka == "Samsung") .ToList();}```
Burada "Fiyat" alanı 100 ile 500 arasında olan ve "Marka" alanı "Samsung" olan ürünlerin listelenmesi sağlanır.
Where metodu, Entity Framework'ün veri filtreleme işlemlerinde en çok kullanılan metotlarından biridir. Farklı koşullar altında farklı filtrelemeler sağlamak için oldukça esnek bir kullanıma sahiptir.
Any ve All Metotları Kullanarak Filtreleme İşlemi Örneği
Entity Framework, veri tabanı işlemlerini daha kolay hale getirmek için geliştirilmiş bir çerçevedir. Veri filtreme işlemlerinde kullanabileceğiniz birçok yöntem mevcuttur. Bunlardan biri de Any ve All metotlarıdır. Bu metotlar, belirli koşullara uygun kayıtları filtrelemek için kullanılır.
Örneğin, bir film veri tabanında, korku filmlerini filtrelemek isterseniz, Any ve All metotlarını kullanarak bu işlemi gerçekleştirebilirsiniz. Any metodu, listede en az bir öğenin belirtilen koşulu sağlaması durumunda true değerini döndürür. All metodu ise listede tüm öğelerin belirtilen koşulu sağlaması durumunda true değerini döndürür.
Bir başka örnek olarak, bir müşteri veri tabanında, şehirleri belirli bir listedeki şehirlerden biri olan müşterileri filtrelemek isteyeblirisiniz. Bu durumda Any metodu, müşteriler listesinde en az bir öğenin belirtilen şehirlerden biriyle aynı olması durumunda, koşulu sağlayacaktır. All metodu ise, müşteriler listesindeki tüm öğelerin belirtilen şehirlerden biriyle aynı olması durumunda, koşulu sağlayacaktır.
Any ve All metotları, veri filtreleme işlemlerinde oldukça kullanışlıdır. Bu metotları kullanarak veri tabanında filtreleme işlemlerini kolayca gerçekleştirebilirsiniz.
Raw SQL Kullanarak Veri Filtreleme
Entity Framework, .NET tabanlı bir teknolojidir ve veri tabanı işlemleri yapmanıza olanak sağlar. İçerisinde sunduğu yüzlerce metot ve işlem sayesinde hem daha verimli hem de daha hızlı bir şekilde veri işlemleri yapabilirsiniz.
Entity Framework'teki veri sorgulama işlemleri; LINQ ve Raw SQL olarak ikiye ayrılabilir. Bu yazımızda Raw SQL ile veri filtreleme işlemlerine değineceğiz.
Raw SQL, veri tabanından direkt olarak SQL sorgusu göndererek veri işlemleri yapmanızı sağlar. Bu işlem LINQ sorgularına göre daha hızlı çalışır. Raw SQL'in kullanımı oldukça basittir ve SqlQuery metodu veya Database.SqlQuery metodu kullanılarak gerçekleştirilir.
SqlQuery Metodu | Database.SqlQuery Metodu |
---|---|
DbContext üzerinden kullanılabilir. | Database nesnesi üzerinden kullanılabilir. |
Raw SQL sorgularını çalıştırır. | Raw SQL sorgularını çalıştırır. |
Gerçekleşen işlem sonucunda bir DbSet döner. | Gerçekleşen işlem sonucunda herhangi bir nesne döndürmez. |
SqlQuery metodu kullanarak veri sorgulama işlemi gerçekleştirelim.
using System.Linq;using System.Data.SqlClient;using (var db = new MyDbContext()){ var query = db.Database.SqlQuery<Product>( "SELECT * FROM Products WHERE Price > @price", new SqlParameter("price", 10)) .ToList();}
Yukarıdaki örnekte, Products tablosundan Price sütunu 10'dan büyük olan veriler seçilir ve List
Database.SqlQuery metodu kullanarak veri sorgulama işlemini de inceleyelim.
using System.Linq;using System.Data.SqlClient;using (var db = new MyDbContext()){ var query = db.Products.SqlQuery( "SELECT * FROM Products WHERE Price > @price", new SqlParameter("price", 10)) .ToList();}
Yukarıdaki örnekte de SqlQuery metodu kullanılarak veri sorgulama işlemi gerçekleştirilir. Fakat burada dikkat edilmesi gereken nokta, Linq sorgusu kullanılmış olmasıdır.
Entity Framework'te veri filtreleme işlemleri oldukça basittir. Hem LINQ hem de Raw SQL kullanarak veri filtreleme işlemi yapabilirsiniz. Seçim yaparken öncelikle işleminizi hangi sorgu türüyle yapmak istediğinizi belirlemeniz gerekir. Her iki seçenek de farklı avantajlara sahip olduğundan hangisinin size uygun olduğuna kendiniz karar verebilirsiniz.
SqlQuery Metodu Kullanımı
SqlQuery metodu, Entity Framework'de yazılan SQL sorgularını çalıştırmak için kullanılır. Bu metot, veritabanına özgü kod yazma ihtiyacını ortadan kaldırır. SqlQuery metodu, parametre olarak yazılmış SQL sorgusunu alır ve bu sorguyu veritabanında doğrudan çalıştırır.
SqlQuery metodu, Entity Framework'te yapılmış herhangi bir sorgudaki değerleri alabilecek parametrelerle çalışabilir. Bu, uygulamanızda geçici veriler kullanmanızı sağlar. Tablo yapısında değişiklik yapmak istediğinizde, sadece uygulamanızdaki geçici verileri değiştirmeniz yeterlidir.
Örnek olarak; blog tablosundan sadece belirli bir yazarın makalelerini getirmek için kullanabilirsiniz. Bu durumda, SqlQuery metodu kullanılarak bir sorgu yazılabilir. Aşağıda örnek bir kod bloğu bulunmaktadır:
```var authorName = "John Doe";var sqlQuery = "SELECT * FROM blog WHERE author = @p0";var blogList = dbContext.Blogs.SqlQuery(sqlQuery, authorName).ToList();```Yukarıdaki kod bloğunda, SqlQuery metodu kullanılarak bir SQL sorgusu yazıldı ve veritabanına gönderildi. Sorgunun `@p0` parametresi, veritabanındaki "author" sütununa karşılık gelen authorName değişkeniyle değiştirildi.
SqlQuery metodu, veritabanından çok fazla veri almak yerine sadece ihtiyacınız olan verileri seçmenizi sağlar. Bu durum da uygulamanızın hızlı çalışmasını sağlar.
Sonuç olarak, SqlQuery metodu Entity Framework'te sorgu yapma işlemini basitleştirir. Bu metot, harici bir veritabanı bağlantısıyla yazılmış SQL sorgularını çalıştırmak için kullanılır. Bu özellik, veri işleme işlemlerinin daha hızlı, daha güvenli ve daha kolay bir şekilde gerçekleştirilmesine yardımcı olur.
Database.SqlQuery Metodu Kullanımı
Entity Framework en önemli özelliklerinden biri veri sorgulama ve filtreleme işlemlerini oldukça basitleştiren bir yapıya sahip olmasıdır. Bu sayede veritabanına erişim oldukça kolay hale gelirken, sorgulama işlemleri de kullanıcılar tarafından rahatlıkla gerçekleştirilebiliyor. Entity Framework içerisinde kullanılabilecek bir diğer sorgulama yöntemi ise Database.SqlQuery metodu ile veri filtreleme işlemidir.
Database.SqlQuery metodu kullanarak veritabanından belirli bir sorgu yapılabilir, sonrasında bu verilerin istenildiği gibi filtrelenmesi sağlanabilir. Bu metodun kullanımı oldukça basit olmakla birlikte özellikle veritabanı yapılandırması konusunda tecrübe sahibi olan kullanıcılar tarafından sıklıkla tercih edilir.
Aşağıdaki örnekte, Database.SqlQuery metodu kullanılarak veritabanından belirli bir sorgu yapılmış ve sonrasında bu veriler istenilen şekilde filtrelenmiştir:
```using (var context = new MyContext()) { var query = context.Database.SqlQuery
var customers = query.ToList();}```
Yukarıdaki örneğe baktığımızda, ilk olarak veritabanına erişim sağlanmıştır. Daha sonra, SqlQuery() metodu kullanılarak özel bir SQL sorgusu yazılmıştır. Bu sorgu sonucunda veritabanından belli bir kategorideki kayıtlar filtrelenmiş olur. En son olarak, bu veriler customers adlı bir liste halinde saklanır.
Bu yöntemi kullanarak veritabanından belirli bilgilerin çekilmesi ve filtrelenmesi oldukça kolay hale gelmektedir. Farklı sorgulama teknikleri ve yöntemleri ile birlikte Database.SqlQuery metodu sayesinde Entity Framework oldukça kapsamlı bir veritabanı erişim çözümü sunar.