LINQ to DataSet Genel Bakış

DataSet ADO.NET en yaygın kullanılan bileşenlerinden biridir. Bu, ADO.NET bağlı olduğu bağlantısız programlama modelinin önemli bir öğesidir ve farklı veri kaynaklarından verileri açıkça önbelleğe almanızı sağlar. Sunu katmanı için, DataSet veri bağlamaya yönelik GUI denetimleriyle sıkı bir şekilde tümleştirilir. Orta katman için, verilerin ilişkisel şeklini koruyan bir önbellek sağlar ve hızlı basit sorgu ve hiyerarşi gezinti hizmetlerini içerir. Veritabanındaki istek sayısını azaltmak için kullanılan yaygın bir teknik, orta katmanda önbelleğe alma için kullanmaktır DataSet . Örneğin, veri temelli bir web uygulaması ASP.NET düşünün. Genellikle, uygulama verilerinin önemli bir kısmı sık sık değişmez ve oturumlar veya kullanıcılar arasında yaygındır. Bu veriler Web sunucusunda bellekte tutularak veritabanına yönelik istek sayısını azaltır ve kullanıcının etkileşimlerini hızlandırır. bir uygulamanın bir veya daha fazla veri kaynağındaki veri alt kümelerini uygulama alanına getirmesine izin vermesi de yararlı bir özelliktir DataSet . Uygulama daha sonra ilişkisel şeklini koruyarak bellek içindeki verileri işleyebilir.

öne çıkan olmasına rağmen, DataSet sınırlı sorgu özelliklerine sahiptir. Select yöntemi filtreleme ve sıralama GetChildRows için, ve GetParentRow yöntemleri ise hiyerarşi gezintisi için kullanılabilir. Ancak daha karmaşık bir şey için geliştiricinin özel bir sorgu yazması gerekir. Bu, kötü performans gösteren ve bakımı zor olan uygulamalara neden olabilir.

LINQ to DataSet, bir DataSet nesnede önbelleğe alınan verileri sorgulamayı daha kolay ve hızlı hale getirir. Bu sorgular, uygulama koduna eklenmiş dize değişmez değerleri yerine programlama diliyle ifade edilir. Bu, geliştiricilerin ayrı bir sorgu dili öğrenmek zorunda olmadığı anlamına gelir. Ayrıca LINQ to DataSet, Visual Studio geliştiricilerinin daha üretken çalışmasını sağlar çünkü Visual Studio IDE LINQ için derleme zamanı söz dizimi denetimi, statik yazma ve IntelliSense desteği sağlar. LINQ to DataSet, bir veya daha fazla veri kaynağından birleştirilmiş verileri sorgulamak için de kullanılabilir. Bu, verilerin nasıl temsil ve işlendiği konusunda esneklik gerektiren birçok senaryo sağlar. Özellikle genel raporlama, analiz ve iş zekası uygulamaları bu işleme yöntemini gerektirir.

LINQ to DataSet Kullanarak DataSet'leri Sorgulama

LINQ to DataSet kullanarak bir DataSet nesneyi sorgulamaya başlamadan önce dosyasını doldurmanız DataSetgerekir. bir içine DataSetveri yüklemenin, örneğin sınıfını veya LINQ to SQL'i DataAdapterkullanmanın çeşitli yolları vardır. Veriler bir DataSet nesneye yüklendikten sonra sorgulamaya başlayabilirsiniz. LINQ to DataSet kullanarak sorguları formüle etmek, dil tümleşik sorgusunu (LINQ) diğer LINQ özellikli veri kaynaklarında kullanmaya benzer. LINQ sorguları, ve GroupJoin standart sorgu işleçleri kullanılarak bir DataSet veya birden çok tablodaki tek tablolarda Join gerçekleştirilebilir.

LINQ sorguları hem türlenmiş hem de yazılmamış DataSet nesneler için desteklenir. şeması DataSet uygulama tasarım zamanında biliniyorsa, yazılan DataSet bir önerilir. Yazılan DataSetbir içinde, tablolar ve satırlar sütunların her biri için yazılan üyelere sahiptir ve bu da sorguları daha basit ve daha okunabilir hale getirir.

System.Core.dll uygulanan standart sorgu işleçlerine ek olarak LINQ to DataSet, bir DataRow dizi nesne üzerinde sorgulamayı kolaylaştıran birkaç DataSetözel uzantı ekler. Bu DataSetözel uzantılar, satır dizilerini karşılaştırmaya yönelik işleçlerin yanı sıra sütun DataRowdeğerlerine erişim sağlayan yöntemleri içerir.

N katmanlı Uygulamalar ve LINQ to DataSet

N katmanlı veri uygulamaları, birden çok mantıksal katmana (veya katmana) ayrılmış veri odaklı uygulamalardır. Tipik bir N katmanlı uygulama sunu katmanı, orta katman ve veri katmanı içerir. Uygulama bileşenlerini ayrı katmanlara ayırmak, uygulamanın sürdürülebilirliğini ve ölçeklenebilirliğini artırır. N katmanlı veri uygulamaları hakkında daha fazla bilgi için bkz . N katmanlı uygulamalarda veri kümeleriyle çalışma.

N katmanlı uygulamalarda, DataSet bir Web uygulamasının bilgilerini önbelleğe almak için genellikle orta katmanda kullanılır. LINQ to DataSet sorgulama işlevi, uzantı yöntemleri aracılığıyla uygulanır ve mevcut ADO.NET 2.0'ı DataSetgenişletir.

Ayrıca bkz.