Megosztás a következőn keresztül:


Útmutató: A lekérdezési eredmény minimális vagy maximális értékének megkeresése a LINQ (Visual Basic) használatával

A nyelvvel integrált lekérdezés (LINQ) megkönnyíti az adatbázis-információk elérését és a lekérdezések végrehajtását.

Az alábbi példa bemutatja, hogyan hozhat létre olyan új alkalmazást, amely lekérdezéseket hajt végre egy SQL Server-adatbázison. A minta az eredmények minimális és maximális értékeit a záradékok és Group By a Aggregate záradékok használatával határozza meg. További információ: Összesítési záradék és Csoportosítási záradék.

A jelen témakör példái a Northwind mintaadatbázist használják. Ha nem rendelkezik ezzel az adatbázissal a fejlesztői számítógépén, letöltheti azt a Microsoft letöltőközpontból. Útmutatásért lásd : Mintaadatbázisok letöltése.

Feljegyzés

Előfordulhat, hogy a számítógép különböző neveket vagy helyeket jelenít meg a Visual Studio felhasználói felületének egyes elemeihez az alábbi utasításokban. Ezeket az elemeket a Visual Studio-kiadás és a használt beállítások határozzák meg. További információ: Az IDE személyre szabása.

Adatbázis-kapcsolat létrehozása

  1. A Visual Studióban nyissa meg a Server Explorer/Adatbázis-kezelőt a Nézet menü Server Explorer/Adatbázis-kezelő parancsára kattintva.

  2. Kattintson a jobb gombbal az Adat Csatlakozás parancsra a Kiszolgálókezelő/adatbázis-kezelőjében, majd kattintson az Add Csatlakozás ion (Csatlakozás ion hozzáadása) parancsra.

  3. Adjon meg érvényes kapcsolatot a Northwind mintaadatbázishoz.

LINQ-t tartalmazó projekt hozzáadása AZ SQL-fájlhoz

  1. A Visual Studio Fájl menüjében mutasson az Új pontra, majd kattintson a Project gombra. Projekttípusként válassza a Visual Basic Windows Forms-alkalmazást .

  2. A Projekt menüben kattintson az Új elem hozzáadása elemre. Válassza ki a LINQ to SQL Classes elemsablont.

  3. A fájl neve legyen northwind.dbml. Kattintson a Hozzáadás gombra. Az Object Relational Tervező (O/R Tervező) meg van nyitva a northwind.dbml fájlhoz.

Táblák hozzáadása lekérdezéshez az O/R Tervező

  1. A Server Explorer/Database Explorerben bontsa ki a Northwind-adatbázishoz való kapcsolatot. Bontsa ki a Táblák mappát.

    Ha bezárta az O/R Tervező, újra megnyithatja a korábban hozzáadott northwind.dbml fájlra duplán kattintva.

  2. Kattintson a Vevők táblára, és húzza a tervező bal oldali ablaktáblájára. Kattintson a Rendelések táblára, és húzza a tervező bal oldali ablaktáblájára.

    A tervező új Customer és Order objektumokat hoz létre a projekthez. Figyelje meg, hogy a tervező automatikusan észleli a táblák közötti kapcsolatokat, és gyermektulajdonságokat hoz létre a kapcsolódó objektumokhoz. Az IntelliSense például azt mutatja, hogy az Customer objektum rendelkezik az Orders adott ügyfélhez kapcsolódó összes rendelés tulajdonságával.

  3. Mentse a módosításokat, és zárja be a tervezőt.

  4. Mentse a projektet.

Kód hozzáadása az adatbázis lekérdezéséhez és az eredmények megjelenítéséhez

  1. Az Eszközkészletből húzzon egy vezérlőt DataGridView a projekt alapértelmezett Windows-űrlapjára, a Form1 formátumra.

  2. Az Űrlap1 gombra duplán kattintva kódot adhat hozzá az Load űrlap eseményéhez.

  3. Amikor táblákat adott hozzá az O/R Tervező, a tervező hozzáadott egy DataContext objektumot a projekthez. Ez az objektum tartalmazza azt a kódot, amelyet hozzá kell férnie a táblákhoz az egyes táblákhoz tartozó objektumokon és gyűjteményeken kívül. A DataContext projekt objektumának neve a .dbml fájl neve alapján történik. Ebben a projektben az DataContext objektum neve northwindDataContext.

    Létrehozhat egy példányt a DataContext kódban, és lekérdezheti az O/R Tervező által megadott táblákat.

    Adja hozzá a következő kódot az Load eseményhez. Ez a kód lekérdezi az adatkörnyezet tulajdonságaiként közzétett táblákat, és meghatározza az eredmények minimális és maximális értékeit. A minta a záradékot használja egyetlen Aggregate eredmény lekérdezésére, a záradék pedig a Group By csoportosított eredmények átlagának megjelenítésére.

    Dim db As New northwindDataContext
    
    Dim minimumOrders = Aggregate cust In db.Customers
                        Where cust.City = "London"
                        Into Min(cust.Orders.Count)
    
    MsgBox("Minimum Orders from a London Customer: " & minimumOrders)
    
    Dim maximumOrdersByCountry = From cust In db.Customers
                                 Group By cust.Country
                                   Into MaxOrders = Max(cust.Orders.Count)
    
    DataGridView1.DataSource = maximumOrdersByCountry
    
  4. Nyomja le az F5 billentyűt a projekt futtatásához és az eredmények megtekintéséhez.

Lásd még