Procedura: Trovare il valore minimo o massimo in un risultato di Query utilizzando LINQ (Visual Basic)How to: Find the Minimum or Maximum Value in a Query Result by Using LINQ (Visual Basic)

Language-Integrated Query (LINQ) semplifica accedere alle informazioni sul database ed eseguire query.Language-Integrated Query (LINQ) makes it easy to access database information and execute queries.

Nell'esempio seguente viene illustrato come creare una nuova applicazione che esegue query su un database di SQL Server.The following example shows how to create a new application that performs queries against a SQL Server database. Nell'esempio vengono determinati i valori minimi e massimo per i risultati usando il Aggregate e Group By clausole.The sample determines the minimum and maximum values for the results by using the Aggregate and Group By clauses. Per altre informazioni, vedere Aggregate Clause e Group By Clause.For more information, see Aggregate Clause and Group By Clause.

Gli esempi in questo argomento usano il database di esempio Northwind.The examples in this topic use the Northwind sample database. Se non è questo database nel computer di sviluppo, è possibile scaricarlo da Microsoft Download Center.If you do not have this database on your development computer, you can download it from the Microsoft Download Center. Per istruzioni, vedere download dei database di esempio.For instructions, see Downloading Sample Databases.

Nota

Nomi o percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso.Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi.The Visual Studio edition that you have and the settings that you use determine these elements. Per altre informazioni, vedere Personalizzazione dell'IDE.For more information, see Personalizing the IDE.

Per creare una connessione a un databaseTo create a connection to a database

  1. In Visual Studio, aprire Esplora Server/Database Explorer facendo Esplora Server/Database Esplora nella visualizzazione menu.In Visual Studio, open Server Explorer/Database Explorer by clicking Server Explorer/Database Explorer on the View menu.

  2. Fare doppio clic su connessioni dati nelle Esplora Server/Esplora Database e quindi fare clic su Aggiungi connessione.Right-click Data Connections in Server Explorer/Database Explorer and then click Add Connection.

  3. Specificare una connessione valida al database di esempio Northwind.Specify a valid connection to the Northwind sample database.

Per aggiungere un progetto che contiene un file LINQ to SQLTo add a project that contains a LINQ to SQL file

  1. In Visual Studio scegliere Nuovo dal menu File e quindi fare clic su Progetto.In Visual Studio, on the File menu, point to New and then click Project. Selezionare Visual Basic Windows Forms Application come tipo di progetto.Select Visual Basic Windows Forms Application as the project type.

  2. Nel menu Progetto fare clic su Aggiungi nuovo elemento.On the Project menu, click Add New Item. Selezionare il classi LINQ to SQL modello di elemento.Select the LINQ to SQL Classes item template.

  3. Denominare il file northwind.dbml.Name the file northwind.dbml. Fare clic su Aggiungi.Click Add. Viene aperto il Object Relational Designer (O/R Designer) per il file Northwind. dbml.The Object Relational Designer (O/R Designer) is opened for the northwind.dbml file.

Per aggiungere tabelle a query a O/R DesignerTo add tables to query to the O/R Designer

  1. Nelle Esplora Server/Esplora Database, espandere la connessione al database Northwind.In Server Explorer/Database Explorer, expand the connection to the Northwind database. Espandere la tabelle cartella.Expand the Tables folder.

    Se è stato chiuso O/R Designer, è possibile riaprirlo facendo doppio clic sul file Northwind. dbml aggiunti in precedenza.If you have closed the O/R Designer, you can reopen it by double-clicking the northwind.dbml file that you added earlier.

  2. Fare clic nella tabella Customers e trascinarla nel riquadro sinistro della finestra di progettazione.Click the Customers table and drag it to the left pane of the designer. Fare clic nella tabella Orders e trascinarla nel riquadro sinistro della finestra di progettazione.Click the Orders table and drag it to the left pane of the designer.

    La finestra di progettazione crea nuovi Customer e Order oggetti per il progetto.The designer creates new Customer and Order objects for your project. Si noti che la finestra di progettazione automaticamente rileva le relazioni tra le tabelle e crea figlio le proprietà per gli oggetti correlati.Notice that the designer automatically detects relationships between the tables and creates child properties for related objects. Ad esempio, IntelliSense mostrerà che il Customer oggetto ha un Orders proprietà per tutti gli ordini correlati a tale cliente.For example, IntelliSense will show that the Customer object has an Orders property for all orders related to that customer.

  3. Salvare le modifiche e chiudere la finestra di progettazione.Save your changes and close the designer.

  4. Salvare il progetto.Save your project.

Per aggiungere il codice per eseguire query sul database e visualizzare i risultatiTo add code to query the database and display the results

  1. Dal casella degli strumenti, trascinare un DataGridView controllo nel Form di Windows predefinito per il progetto, Form1.From the Toolbox, drag a DataGridView control onto the default Windows Form for your project, Form1.

  2. Fare doppio clic su Form1 per aggiungere il codice per il Load eventi del form.Double-click Form1 to add code to the Load event of the form.

  3. Quando si aggiungono tabelle alla finestra di Progettazione relazionale oggetti, la finestra di progettazione aggiunge un DataContext oggetto per il progetto.When you added tables to the O/R Designer, the designer added a DataContext object for your project. Questo oggetto contiene il codice che è necessario disporre per accedere a tali tabelle, oltre ai singoli oggetti e raccolte per ogni tabella.This object contains the code that you must have to access those tables, in addition to individual objects and collections for each table. Il DataContext oggetto per il progetto viene denominato in base al nome del file. dbml.The DataContext object for your project is named based on the name of your .dbml file. Per questo progetto, il DataContext oggetto è denominato northwindDataContext.For this project, the DataContext object is named northwindDataContext.

    È possibile creare un'istanza di DataContext nel codice e query nelle tabelle specificate dalla finestra di Progettazione relazionale oggetti.You can create an instance of the DataContext in your code and query the tables specified by the O/R Designer.

    Aggiungere il codice seguente per il Load evento.Add the following code to the Load event. Questo codice esegue una query di tabelle che vengono esposti come proprietà del contesto dati e determina i valori minimi e massimo per i risultati.This code queries the tables that are exposed as properties of your data context and determines the minimum and maximum values for the results. L'esempio Usa egli Aggregate clausola per eseguire query per un singolo risultato e il Group By clausola per visualizzare una media dei risultati raggruppati.The sample uses he Aggregate clause to query for a single result, and the Group By clause to show an average for grouped results.

    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. Premere F5 per eseguire il progetto e visualizzare i risultati.Press F5 to run your project and view the results.

Vedere ancheSee also