Udostępnij za pośrednictwem


Porady: zliczanie, sumowanie, lub uśrednianie danych za pomocą LINQ (Visual Basic)

Zintegrowane języka kwerend (LINQ) ułatwia dostęp do informacji z bazy danych i wykonywać kwerendy.

Poniższy przykład pokazuje, jak utworzyć nową aplikację, która wykonuje kwerendy w bazie danych programu SQL Server.Próbki zlicza, sum i uśrednia wyniki za pomocą Aggregate i Group By klauzul.Aby uzyskać więcej informacji, zobacz Aggregate — Klauzula (Visual Basic) i Group By — Klauzula (Visual Basic).

W tym temacie w przykładach używana przykładowa baza danych Northwind.Jeśli nie masz przykładowej bazy danych Northwind na komputerze dewelopera, można pobrać ją z Centrum pobierania firmy Microsoft witryny sieci Web.Aby uzyskać instrukcje, zobacz Downloading Sample Databases.

[!UWAGA]

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Dostosowywanie ustawień środowiska deweloperskiego w Visual Studio.

Aby utworzyć połączenie z bazą danych

  1. W programie Visual Studio, otwórz Server Explorer/Explorer bazy danych przez kliknięcie przycisku Server Explorer/Explorer bazy danych na widoku menu.

  2. Kliknij prawym przyciskiem myszy Połączeń danych w Server Explorer/Explorer bazy danych , a następnie kliknij przycisk Dodać połączenie.

  3. Określić prawidłowe połączenie do bazy danych Northwind.

Aby dodać projekt, który zawiera LINQ pliku SQL

  1. W programie Visual Studio na pliku menu, wskaż Nowy , a następnie kliknij przycisk projektu.Wybierz Visual Basic Aplikacji Windows Forms jako typu projektu.

  2. Na Projekt menu, kliknij przycisk Dodaj nowy element.Wybierz LINQ klas SQL szablonu elementu.

  3. Nazwa pliku northwind.dbml.Kliknij przycisk dodać.Relacyjne Object Designer (Projektant O/R) jest otwarty dla pliku northwind.dbml.

Aby dodać tabele, kwerendy do projektanta O/R

  1. W Server Explorer/Explorer bazy danych, rozwiń połączenie do bazy danych Northwind.Rozwiń węzeł tabel folder.

    Jeśli zostały zamknięte projektanta O/R, można go ponownie otworzyć przez dwukrotne kliknięcie pliku northwind.dbml, który dodano wcześniej.

  2. Kliknij tabelę Klienci i przeciągnij go do lewego okienka projektanta.W tabeli zamówienia kliknij i przeciągnij go do lewego okienka projektanta.

    Projektant tworzy nowe Customer i Order obiekty w projekcie.Należy zauważyć, że projektant automatycznie wykrywa relacje między tabelami i tworzy obiekty powiązane właściwości podrzędne.Na przykład, IntelliSense będzie wykazują, że Customer obiekt ma Orders właściwości dla wszystkich zamówień związanych z tego klienta.

  3. Zapisz zmiany i zamknąć projektanta.

  4. Zapisz swój projekt.

Aby dodać kod w bazie danych i wyświetl wyniki

  1. Z Przybornik, przeciągnij DataGridView kontrolkę domyślny formularz systemu Windows w projekcie formularza Form1.

  2. Kliknij dwukrotnie formularz Form1, aby dodać kod do Load zdarzenia formularza.

  3. Podczas dodawania tabel do projektanta O/R, Projektant dodaje DataContext obiektu dla projektu.Ten obiekt zawiera kod, który musi mieć dostęp do tych tabel i uzyskać dostęp do poszczególnych obiektów i kolekcji dla każdej tabeli.DataContext Obiektu o nazwie projektu oparte na nazwę pliku .dbml.Dla tego projektu DataContext obiektu o nazwie northwindDataContext.

    Można utworzyć wystąpienia DataContext w kodzie i kwerendy tabele określone przez projektanta O/R.

    Dodaj następujący kod do Load zdarzeń do kwerendy tabel, które są dostępne jako właściwości sieci DataContext policzyć, Suma i średnia wyników.W przykładzie zastosowano Aggregate klauzula kwerendy o jeden wynik i Group By klauzuli, aby pokazać średnią dla pogrupowane wyniki.

    Dim db As New northwindDataContext
    Dim msg = "" 
    
    Dim londonCustomerCount = Aggregate cust In db.Customers
                              Where cust.City = "London"
                              Into Count()
    msg &= "Count of London Customers: " & londonCustomerCount & vbCrLf
    
    Dim averageOrderCount = Aggregate cust In db.Customers
                            Where cust.City = "London"
                            Into Average(cust.Orders.Count)
    msg &= "Average number of Orders per customer: " &
           averageOrderCount & vbCrLf
    
    Dim venezuelaTotalOrders = Aggregate cust In db.Customers
                               Where cust.Country = "Venezuela"
                               Into Sum(cust.Orders.Count)
    msg &= "Total number of orders from Customers in Venezuela: " &
           venezuelaTotalOrders & vbCrLf
    
    MsgBox(msg)
    
    Dim averageCustomersByCity = From cust In db.Customers
                                 Group By cust.City
                                 Into Average(cust.Orders.Count)
                                 Order By Average
    
    DataGridView1.DataSource = averageCustomersByCity
    
  4. Naciśnij klawisz F5, aby uruchomić projekt i wyświetlić wyniki.

Zobacz też

Zadania

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

Informacje

Aggregate — Klauzula (Visual Basic)

Group By — Klauzula (Visual Basic)

Koncepcje

DataContext Methods (O/R Designer)

Inne zasoby

LINQ w Visual Basic

Zapytania (Visual Basic)

LINQ to SQL [LINQ to SQL]