Visual Basic'de LINQ'e Giriş

Dil ile Tümleşik Sorgu (LINQ), Visual Basic öğesine sorgu özellikleri ekler ve her türden veriyle çalışırken size basit ve güçlü özellikler sağlar.Bir sorguyu işlenmek üzere bir veritabanına göndermek yerine veya arama yaptığınız her veri türü için farklı sorgu sözdizimiyle çalışmak yerine LINQ, sorguları Visual Basic dilinin bir parçası olarak sağlar.Veri türünden bağımsız olarak birleştirilmiş sözdizimi kullanır.

LINQ, bir SQL Server veritabanından, XML, bellek içi dizi ve koleksiyonlardan, ADO.NET veri kümelerinden veya LINQ destekleyen herhangi bir diğer uzak ya da yerel veri kaynağından veri sorgulamanıza olanak tanır.Tüm bunları Visual Basic dil öğelerini kullanarak yapabilirsiniz.Sorgularınız Visual Basic dilinde yazıldığından, sorgu sonuçlarınız türü kesin olarak belirtilmiş nesneler olarak döner.Bu nesneler, daha hızlı kod yazmanızı ve sorgularınızdaki hataları çalışma zamanında değil derleme zamanında yakalamanızı sağlayan IntelliSense desteği sunar.LINQ sorguları sonuçları iyileştirmek için ek sorgu kaynakları olarak kullanılabilir.Bunlar, kullanıcıların sorgu sonuçlarını daha kolay görüntülemesi ve değiştirmesi için denetimlere bağlı da olabilir.

Örneğin, aşağıdaki kod örneği bir koleksiyon dahilindeki müşteri listesini döndüren ve bulundukları konuma göre gruplandıran LINQ sorgusunu gösterir.

' Obtain a list of customers. 
Dim customers As List(Of Customer) = GetCustomers()

' Return customers that are grouped based on country. 
Dim countries = From cust In customers
                Order By cust.Country, cust.City
                Group By CountryName = cust.Country
                Into CustomersInCountry = Group, Count()
                Order By CountryName

' Output the results. 
For Each country In countries
    Debug.WriteLine(country.CountryName & " count=" & country.Count)

    For Each customer In country.CustomersInCountry
        Debug.WriteLine("   " & customer.CompanyName & "  " & customer.City)
    Next 
Next 

' Output: 
'   Canada count=2 
'      Contoso, Ltd  Halifax 
'      Fabrikam, Inc.  Vancouver 
'   United States count=1 
'      Margie's Travel  Redmond

Bu konuda, aşağıdaki alanlarla ilgili bilgileri bulabilirsiniz:

  • Örnekleri Çalıştırma

  • LINQ Sağlayıcıları

  • Bir LINQ Sorgusunun yapısı

  • Visual Basic LINQ Sorgu İşleçleri

  • LINQ to SQL Kullanarak bir Veritabanına Bağlanma

  • LINQ Destekleyen Visual Basic Özellikleri

  • Ertelenmiş ve Anlık Sorgu Yürütme

  • Visual Basic içindeki XML

  • İlgili Kaynaklar

  • Nasıl Yapılır ve İzlenecek Yol Konuları

Örnekleri Çalıştırma

Giriş ve "Bir LINQ Sorgusunun Yapısı" bölümlerindeki örnekleri çalıştırmak için müşteri ve sipariş listesi döndüren aşağıdaki kodu ekleyin.

' Return a list of customers. 
Private Function GetCustomers() As List(Of Customer)
    Return New List(Of Customer) From
        {
            New Customer With {.CustomerID = 1, .CompanyName = "Contoso, Ltd", .City = "Halifax", .Country = "Canada"},
            New Customer With {.CustomerID = 2, .CompanyName = "Margie's Travel", .City = "Redmond", .Country = "United States"},
            New Customer With {.CustomerID = 3, .CompanyName = "Fabrikam, Inc.", .City = "Vancouver", .Country = "Canada"}
        }
End Function 

' Return a list of orders. 
Private Function GetOrders() As List(Of Order)
    Return New List(Of Order) From
        {
            New Order With {.CustomerID = 1, .Amount = "200.00"},
            New Order With {.CustomerID = 3, .Amount = "600.00"},
            New Order With {.CustomerID = 1, .Amount = "300.00"},
            New Order With {.CustomerID = 2, .Amount = "100.00"},
            New Order With {.CustomerID = 3, .Amount = "800.00"}
        }
End Function 

' Customer Class. 
Private Class Customer
    Public Property CustomerID As Integer 
    Public Property CompanyName As String 
    Public Property City As String 
    Public Property Country As String 
End Class 

' Order Class. 
Private Class Order
    Public Property CustomerID As Integer 
    Public Property Amount As Decimal 
End Class

LINQ Sağlayıcıları

LINQ sağlayıcı, Visual Basic LINQ sorgularınızı sorgulanan veri kaynağıyla eşler.LINQ sorgusu yazdığınızda, sağlayıcı sorguyu alır ve veri kaynağının yürütebileceği komutlara çevirir.Sağlayıcı kaynaktan alınan verileri sorgu sonucunuzu oluşturan nesnelere dönüştürür.Son olarak, güncelleştirmeleri veri kaynağına gönderdiğinizde nesneleri verilere dönüştürür.

Visual Basic aşağıdaki LINQ sağlayıcıları içerir.

Sağlayıcı

Tanımlama

LINQ to Objects

Objects sağlayıcı için LINQ, bellek içi koleksiyonlarda ve dizilerde sorgu yürütmenize olanak sağlar.Bir nesne IEnumerable veya IEnumerable arabirimini destekliyorsa LINQ to Objects sağlayıcısı sorgulamanız için bunu etkinleştirir.

LINQ to Objects sağlayıcısını tüm Visual Basic projeleri için varsayılan olarak içe aktarılan System.Linq ad alanını içe aktararak etkinleştirebilirsiniz.

LINQ to Objects sağlayıcısı hakkında daha fazla bilgi için bkz. Nesnelere LINQ.

LINQ to SQL

SQL sağlayıcı için LINQ, SQL Server veritabanında sorgu yürütmenize ve verileri değiştirmenize olanak sağlar.Bu, bir uygulamadaki nesne modelinin veritabanındaki tablolar ve nesnelerle eşlenmesini kolaylaştırır.

Visual Basic Object Relational Designer (O/R Designer) uygulamasını dahil ederek LINQ ve SQL ile çalışmayı kolaylaştırır.Bu tasarımcı, bir uygulamada veritabanındaki nesnelerle eşleşen bir nesne modeli oluşturmak için kullanılır.O/R Tasarımcısı ayrıca depolanan yordamları ve işlevleri DataContext nesnesi ile eşlemek üzere işlevsellik sağlar; bu nesne veritabanı ile iletişimi yönetir ve iyimser eşzamanlılık denetimlerinin durumunu depolar.

LINQ to SQL sağlayıcısı hakkında daha fazla bilgi için bkz. LINQ to SQL [LINQ to SQL].Nesne İlişkisel Tasarımcısı hakkında daha fazla bilgi için bkz. Object Relational Designer (O/R Designer).

LINQ to XML

XML sağlayıcı için LINQ, XML sorgulamanıza ve değiştirmenize olanak sağlar.Bellek içi XML değiştirebilir veya, XML dosyasından XML yükleyebilir ve kaydedebilirsiniz.

Ayrıca, LINQ to XML sağlayıcı, Visual Basic kodunuza doğrudan XML yazmanıza olanak tanıyan XML sabit değerlerine ve XML eksen özelliklerine sahiptir.Daha fazla bilgi için bkz. Visual Basic'de XML.

LINQ to DataSet

DataSet sağlayıcı için LINQ, ADO.NET veri kümesinde sorgu yürütmenize ve güncelleme yapmanıza olanak sağlar.LINQ özelliklerini veri kümesi kullanan uygulamalara ekleyerek veri kümenizdeki veriler için sorgulama, kümeleme ve güncelleştirme özelliklerini sadeleştirebilir ve genişletebilirsiniz.

Daha fazla bilgi için bkz. LINQ to DataSet.

Bir LINQ Sorgusunun yapısı

Genellikle sorgu ifadesi olarak anılan LINQ sorgusu, sorgu için veri kaynaklarını ve yineleme değişkenlerini tanımlayan sorgu yan tümcelerinin bileşiminden oluşur.Sorgu ifadesi; sıralama, filtreleme, gruplama ve katılma için yönergeleri veya kaynak verilere uygulanacak hesaplamaları da içerebilir.Sorgu ifadesi sözdizimi SQL sözdizimine benzer ancak sözdiziminin daha fazla bir kısmı size tanıdık gelebilir.

Sorgu ifadesi From yan tümcesiyle başlar.Bu yan tümce sorgu ve kaynak verilerin her bir öğesine başvurmak için kullanılan değişkenleri ayrıca tanımlar.Bu değişkenlere aralık değişkenleri veya yineleme değişkenleri denir.From yan tümcesi, From yan tümcesinin isteğe bağlı olduğu Aggregate sorguları dışında bir sorgu için gereklidir.Sorgunun kapsamı ve kaynağı, From veya Aggregate yan tümcelerinde tanımlandıktan sonra sorguyu daha iyi hale getirmek için sorgu yan tümcelerinin birleşimini dahil edebilirsiniz.Sorgu yan tümceleri hakkında ayrıntılar için bu konunun ilerleyen bölümlerindeki Visual Basic LINQ Sorgu İşleçleri kısmına bakın.Örneğin, aşağıdaki sorgu müşteri verilerinin kaynak koleksiyonunu customers değişkeni ve cust adında bir yineleme değişkeni olarak tanımlar.

Dim customers = GetCustomers()

Dim queryResults = From cust In customers

For Each result In queryResults
    Debug.WriteLine(result.CompanyName & "  " & result.Country)
Next 

' Output: 
'   Contoso, Ltd  Canada 
'   Margie's Travel  United States 
'   Fabrikam, Inc.  Canada

Bu örnek tek başına geçerli bir sorgudur ancak sonucu iyileştirmek için daha fazla sorgu yan tümcesi eklediğinizde sorgu daha güçlü hale gelir.Örneğin, sonucu bir veya daha fazla değere göre filtrelemek için Where tümcesini ekleyebilirsiniz.Sorgu ifadeleri tek satırlık kodlardır, ek sorgu yan tümcelerini sorgunun sonuna ekleyebilirsiniz.Alt çizgi (_) satır devam karakterini kullanarak bir sorguyu birden fazla satıra bölebilir ve daha kolay okunmasını sağlayabilirsiniz.Aşağıdaki kod örneği, bir Where yan tümcesi içeren sorgu örneğini gösterir.

Dim queryResults = From cust In customers
                   Where cust.Country = "Canada"

Başka bir güçlü sorgu yan tümcesi ise, veri kaynağından yalnızca seçili alanları döndürmenizi sağlayan Select yan tümcesidir.LINQ sorguları, numaralandırılabilir, türü kesin belirlenmiş nesne koleksiyonları döndürür.Sorgu, anonim türlerin veya adlandırılmış türlerin koleksiyonunu döndürebilir.Select yan tümcesini kullanarak veri kaynağından tek bir alan döndürebilirsiniz.Bunu yaptığınızda, döndürülen koleksiyon türü o tek alanın türüdür.Veri kaynağından birden fazla alan döndürmek için Select yan tümcesini de kullanabilirsiniz.Bunu yaptığınızda, döndürülen koleksiyon türü yeni bir anonim türdür.Belirtilen adlandırılmış tür alanlarını sorgu tarafından döndürülen alanlarla da eşleştirebilirsiniz.Aşağıdaki kod örneği, veri kaynağının seçilen alanlarından alınan verilerle doldurulmuş üyeleri olan anonim türler koleksiyonunu döndüren bir sorgu ifadesi gösterir.

Dim queryResults = From cust In customers
               Where cust.Country = "Canada" 
               Select cust.CompanyName, cust.Country

LINQ sorguları ayrıca birden fazla veri kaynağını birleştirmek ve tek bir sonuç döndürmek için kullanılabilir.Bu bir veya daha fazla From yan tümcesi ya da Join veya Group Join sorgu yan tümceleri kullanılarak yapılabilir.Aşağıdaki kod örneği, müşteri ile sipariş verilerini birleştiren ve müşteri ile sipariş verilerini içeren anonim türlerin koleksiyonunu döndüren bir sorgu ifadesini gösterir.

Dim customers = GetCustomers()
Dim orders = GetOrders()

Dim queryResults = From cust In customers, ord In orders
           Where cust.CustomerID = ord.CustomerID
           Select cust, ord

For Each result In queryResults
    Debug.WriteLine(result.ord.Amount & "  " & result.ord.CustomerID & "  " & result.cust.CompanyName)
Next 

' Output: 
'   200.00  1  Contoso, Ltd 
'   300.00  1  Contoso, Ltd 
'   100.00  2  Margie's Travel 
'   600.00  3  Fabrikam, Inc. 
'   800.00  3  Fabrikam, Inc.

Group Join yan tümcesini kullanarak müşteri nesnesi koleksiyonu içeren hiyerarşik bir sonuç oluşturabilirsiniz.Her müşteri nesnesi, o müşteriye ait tüm siparişleri içeren koleksiyonu içeren bir özelliğe sahiptir.Aşağıdaki kod örneği, müşteri ile sipariş verilerini bir hiyerarşi sonucu olarak birleştiren ve anonim türlerin koleksiyonunu döndüren bir sorgu ifadesini gösterir.Sorgu, müşterinin sipariş verilerinin bir koleksiyonunu içeren CustomerOrders özelliğine sahip bir tür döndürür.Ayrıca söz konusu müşterinin tüm siparişlerine ilişkin toplamı içeren OrderTotal özelliğini de içerir. (Bu sorgu, LEFT OUTER JOIN ile eşdeğerdir.)

Dim customers = GetCustomers()
Dim orders = GetOrders()

Dim queryResults = From cust In customers
                   Group Join ord In orders On
                     cust.CustomerID Equals ord.CustomerID
                     Into CustomerOrders = Group,
                          OrderTotal = Sum(ord.Amount)
                   Select cust.CompanyName, cust.CustomerID,
                          CustomerOrders, OrderTotal

For Each result In queryResults
    Debug.WriteLine(result.OrderTotal & "  " & result.CustomerID & "  " & result.CompanyName)
    For Each ordResult In result.CustomerOrders
        Debug.WriteLine("   " & ordResult.Amount)
    Next 
Next 

' Output: 
'   500.00  1  Contoso, Ltd 
'      200.00 
'      300.00 
'   100.00  2  Margie's Travel 
'      100.00 
'   1400.00  3  Fabrikam, Inc. 
'      600.00 
'      800.00

Güçlü sorgu ifadeleri oluşturmak için kullanabileceğiniz birçok ek LINQ sorgu işleci vardır.Bu konunun sonraki bölümünde, bir sorgu ifadesine dahil edebileceğiniz çeşitli sorgu yan tümceleri açıklanır.Visual Basic sorgu yan tümceleri hakkındaki ayrıntılar için bkz. Sorgular (Visual Basic).

Visual Basic LINQ Sorgu İşleçleri

System.Linq ad alanındaki ve diğer ad alanlarındaki LINQ sorgularını destekleyen sınıflar, uygulamanızın ihtiyaçlarına bağlı olarak sorgular oluşturmak ve daraltmak için çağırabileceğiniz yöntemler içerir.Visual Basic aşağıdaki tabloda açıklandığı üzere sık kullanılan çoğu sorgu yan tümcesi için anahtar sözcükler içerir.

Süre

Tanım

From Tümcesi (Visual Basic)

Bir sorguya başlamak için bir From yan tümcesi veya bir Aggregate yan tümcesi gerekir.From yan tümcesi bir sorgu için kaynak koleksiyonu ve yineleme değişkeni belirtir.Örne?in:

Select Tümcesi (Visual Basic)

İsteğe bağlı.Bir sorgu için bir yineleme değişkenleri kümesi bildirir.Örne?in:

Bir Select yan tümcesi belirtilmediyse söz konusu sorgu için yineleme değişkenleri From veya Aggregate yan tümcesi tarafından belirtilen yineleme değişkenlerinden oluşur.

Where Tümcesi (Visual Basic)

İsteğe bağlı.Bir sorgu için filtreleme koşulunu belirtir.Örne?in:

Order By Tümcesi (Visual Basic)

İsteğe bağlı.Bir sorgudaki sütunlar için sıralama düzenini belirtir.Örne?in:

Join Tümcesi (Visual Basic)

İsteğe bağlı.İki koleksiyonu tek bir koleksiyon halinde birleştirir.Örne?in:

Group By Tümcesi (Visual Basic)

İsteğe bağlı.Bir sorgu sonucunun öğelerini gruplandırır.Her grup için toplama işlevleri uygulamak için kullanılabilir.Örne?in:

Group Join Tümcesi (Visual Basic)

İsteğe bağlı.İki koleksiyonu tek bir hiyerarşik koleksiyon halinde birleştirir.Örne?in:

Aggregate Tümcesi (Visual Basic)

Bir sorguya başlamak için bir From yan tümcesi veya bir Aggregate yan tümcesi gerekir.Bir Aggregate yan tümcesi bir koleksiyona bir veya daha fazla toplama işlevi uygular.Örneğin, bir sorgu tarafından döndürülen tüm öğelerin toplamını hesaplamak için Aggregate tümcesini kullanabilirsiniz.

Bir sorguyu değiştirmek için Aggregate yan tümcesini de kullanabilirsiniz.Örneğin, ilişkili sorgu koleksiyonu üzerinde bir hesaplama gerçekleştirmek için Aggregate tümcesini kullanabilirsiniz.

Let Tümcesi (Visual Basic)

İsteğe bağlı.Bir değeri hesaplar ve sorguda yeni bir değişkene atar.Örne?in:

Distinct Tümcesi (Visual Basic)

İsteğe bağlı.Sorgu sonuçlarındaki yinelenen değerleri ortadan kaldırmak için geçerli yineleme değişkeni değerlerini sınırlandırır.Örne?in:

Skip Tümcesi (Visual Basic)

İsteğe bağlı.Bir koleksiyonda belli sayıdaki öğeleri atlar ve kalan öğeleri döndürür.Örne?in:

Skip While Tümcesi (Visual Basic)

İsteğe bağlı.Belirlenen koşul true olduğu ve kalan öğeleri döndürdüğü sürece, bir koleksiyondaki öğeleri atlar.Örne?in:

Take Tümcesi (Visual Basic)

İsteğe bağlı.Bir koleksiyon başlangıcından belirtilen bitişik öğelerin sayısını döndürür.Örne?in:

Take While Tümcesi (Visual Basic)

İsteğe bağlı.Belirtilen koşul true olduğu ve kalan öğeleri atladığı sürece öğeleri bir koleksiyona dahil eder.Örne?in:

Visual Basic sorgu yan tümceleri hakkındaki ayrıntılar için bkz. Sorgular (Visual Basic).

LINQ tarafından sağlanan numaralandırılabilir ve sorgulanabilir türleri üyelerini çağırarak ek LINQ sorgu özelliklerini kullanabilirsiniz.Bir sorgu ifadesinin sonucunda belirli bir sorgu işlecini çağırarak bu ek özellikleri kullanabilirsiniz.Örneğin, aşağıdaki kod örnekleri iki sorgunun sonuçlarını tek bir sorgu sonucunda birleştirmek için Union``1 yöntemini kullanır.Sorgu sonucunu genel listeye eklemek için ToList``1 yöntemini kullanır.

Public Function GetAllCustomers() As List(Of Customer)
    Dim customers1 = From cust In domesticCustomers
    Dim customers2 = From cust In internationalCustomers

    Dim customerList = customers1.Union(customers2)

    Return customerList.ToList()
End Function

Ek LINQ özellikleri için bkz. Standart Sorgu İşleçlerine Genel Bakış.

LINQ to SQL Kullanarak bir Veritabanına Bağlanma

Tablolar, görünümler ve saklı yordamlar gibi LINQ to SQL dosyasını kullanarak erişmek istediğiniz SQL Server veritabanı nesnelerini Visual Basiciçinde tanımlarsınız.LINQ to SQL dosyası, .dbml uzantısına sahiptir.

Geçerli bir SQL Server veritabanı bağlantınız olduğunda projenize LINQ to SQL Classes öğesi ekleyebilirsiniz.Bu, Object Relational Designer (O/R tasarımcısı) gösterecek.O/R Tasarımcısı kodunuzda erişmek istediğiniz öğeleri Sunucu Gezgini/Veritabanı Gezgini'nden tasarımcı yüzeyine sürükleme olanağı sağlar.SQL dosyası için LINQ projenize bir DataContext nesnesi ekler.Bu nesne, erişmek istediğiniz tablolar ve görünümler için özellikler ve koleksiyonlar, çağırmak istediğiniz saklı yordamlar için yöntemler içerir.Değişiklikleri LINQ to SQL (.dbml) dosyasına kaydettikten sonra O/R Tasarımcısı tarafından tanımlanan DataContext nesnesine başvurarak kodunuzdaki bu nesnelere erişebilirsiniz.Projenizin DataContext nesnesi LINQ to SQL dosyanızın adı temel alınarak adlandırılır.Örneğin, Northwind.dbml olarak adlandırılan bir LINQ to SQL dosyası NorthwindDataContext adında bir DataContext nesnesi oluşturur.

Adım adım yönergeleri içeren örnekler için bkz. Nasıl yapılır: LINQ Kullanarak Veritabanını Sorgulama (Visual Basic) ve Nasıl yapılır: Bir Saklı Yordamı LINQ Kullanarak Çağırma (Visual Basic).

LINQ Destekleyen Visual Basic Özellikleri

Visual Basic, LINQ kullanımını basitleştiren ve LINQ sorguları gerçekleştirmek için yazmanız gereken kod miktarını azaltan başka önemli özellikler de içerir.Bunlar aşağıdakileri içerir:

  • Bir sorgu sonucuna bağlı olarak yeni bir tür oluşturmanızı sağlayan Anonim türler.

  • Örtülü türdeki değişkenler, bir tür belirterek ertelemenize ve derleyicinin sorgu sonucuna göre türü çıkarabilmesine olanak sağlar.

  • Genişletme yöntemleri, türün kendisini değiştirmeden, kendi yöntemlerinizle mevcut türü genişletmenize olanak tanır.

Ayrıntılar için bkz. LINQ'i Destekleyen Visual Basic Özellikleri.

Ertelenmiş ve Anlık Sorgu Yürütme

Sorgu yürütme, sorgu oluşturmadan farklıdır.Sorgu oluşturulduktan sonra yürütmesi ayrı bir mekanizma tarafından tetiklenir.Sorgu tanımlandığı anda (hemen yürütme) yürütülebilir veya tanım saklanır ve sorgu daha sonra yürütülebilir (ertelenmiş yürütme).

Varsayılan olarak, bir sorgu oluşturduğunuzda, sorgunun kendisi anında yürütmeye başlamaz.Bunun yerine, sorgu tanımı sorgu sonucuna başvuru olarak kullanılan değişkenin içinde saklanır.Sorgu sonucu değişkenine kodun daha sonraki kısımlarında For…Next döngüsü bir bölümde erişildiğinde sorgu yürütülür.Bu işlem ertelenmiş yürütme olarak adlandırılır.

Sorgular tanımlandıklarında yürütülebilir bu işleme anında yürütme denir.Sorgu sonucundaki öğelere erişim gerektiren bir yöntem uygulayarak anında tetikleme yapılmasını sağlayabilirsiniz.Bu, Count, Sum, Average, Min veya Max gibi bir toplama işlevinin dahil edilmesinin sonucu olabilir.Toplama işlevleri hakkında daha fazla bilgi için bkz. Aggregate Tümcesi (Visual Basic).

ToList veya ToArray yöntemleri de anında yürütmeyi zorunlu kılacaktır.Bu, hemen bir sorgu yürütmek ve sonuçları önbelleğe almak istediğiniz durumlarda yararlı olabilir.Bu yöntemler hakkında daha fazla bilgi için bkz. Veri Türlerini Dönüştürme.

Sorgu yürütme hakkında daha fazla bilgi için bkz. İlk LINQ Sorgunuzu Yazma (Visual Basic).

Visual Basic içindeki XML

Visual Basic içindeki XML öğeleri, XML değişmez değerlerini ve XML eksen özelliklerini içerir ve bunlar kodunuzdaki XML öğelerini kolayca oluşturmanızı, erişmenizi, sorgulamanızı ve değiştirmenizi sağlar.XML harfleri, kodunuzda doğrudan XML yazmanıza olanak sağlar.Visual Basic derleyicisi, XML'e birinci sınıf veri nesnesi gibi davranır.

Aşağıdaki kod örneği bir XML öğesinin nasıl oluşturulduğunu, alt öğelerine ve özniteliklerine nasıl erişileceğini ve öğe içeriklerinin LINQ kullanılarak nasıl sorgulanacağını gösterir.

' Place Imports statements at the top of your program.   
Imports <xmlns:ns="http://SomeNamespace">

Module Sample1

    Sub SampleTransform()

        ' Create test by using a global XML namespace prefix.  

        Dim contact = 
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        Dim phoneTypes = 
          <phoneTypes>
              <%= From phone In contact.<ns:phone> 
                  Select <type><%= phone.@ns:type %></type> 
              %>
          </phoneTypes>

        Console.WriteLine(phoneTypes)
    End Sub 

End Module

Daha fazla bilgi için bkz. Visual Basic'de XML.

İlgili Kaynaklar

Konu

Tanımlama

Visual Basic'de XML

Visual Basic içindeki, sorgulanabilen ve XML'i Visual Basic kodunuza birinci sınıf veri nesneleri olarak eklemenizi sağlayan XML özelliklerini açıklar.

Sorgular (Visual Basic)

Visual Basic ile kullanılabilen sorgu deyimleri hakkında başvuru bilgileri sağlar.

LINQ (Dil ile Tümleşik Sorgu)

Genel bilgileri, programlama yönergelerini ve LINQ için örnekleri içerir.

LINQ to SQL [LINQ to SQL]

Genel bilgileri, programlama yönergelerini ve LINQ to SQL için örnekleri içerir.

Nesnelere LINQ

Genel bilgileri, programlama yönergelerini ve LINQ to Objects için örnekleri içerir.

ADO.NET'e LINQ (Portal Sayfası)

Genel bilgilerin, programlama yönergelerinin ve LINQ to ADO.NET için bağlantıları içerir.

LINQ to XML

Genel bilgileri, programlama yönergelerini ve LINQ to XML için örnekleri içerir.

Nasıl Yapılır ve İzlenecek Yol Konuları

Nasıl yapılır: LINQ Kullanarak Veritabanını Sorgulama (Visual Basic)

Nasıl yapılır: Bir Saklı Yordamı LINQ Kullanarak Çağırma (Visual Basic)

Nasıl yapılır: LINQ Kullanarak Veritabanındaki Verileri Değiştirme (Visual Basic)

Nasıl yapılır: Birleştirmeleri Kullanarak Verileri LINQ İle Birleştirme (Visual Basic)

Nasıl yapılır: Sorgu Sonuçlarını LINQ Kullanarak Sıralama (Visual Basic)

Nasıl yapılır: Sorgu Sonuçlarını LINQ Kullanarak Filtreleme (Visual Basic)

Nasıl yapılır: LINQ Kullanarak Count, Sum veya Average Verisi (Visual Basic)

Nasıl yapılır: LINQ Kullanarak Bir Sorgu Sonucunda En Düşük ve En Fazla Değeri Bulma (Visual Basic)

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)

Özel Kitap Başlıkları

Programming Visual Basic 2008 içindeki Chapter 17: LINQ

Ayrıca bkz.

Görevler

LINQ Örnekleri

Kavramlar

Visual Basic'de LINQ - XML Dönüşümüne Genel Bakış

LINQ to DataSet Overview

DataContext Methods (O/R Designer)

Diğer Kaynaklar

LINQ (Dil ile Tümleşik Sorgu)

LINQ to SQL [LINQ to SQL]

Object Relational Designer (O/R Designer)