Passaggi tipici per l'utilizzo di LINQ to SQLTypical Steps for Using LINQ to SQL

Per implementare un'applicazione LINQ to SQLLINQ to SQL, attenersi ai passaggi descritti in questo argomento.To implement a LINQ to SQLLINQ to SQL application, you follow the steps described later in this topic. Molti passaggi sono tuttavia facoltativiNote that many steps are optional. ed è molto probabile che si possa usare il modello a oggetti nello stato predefinito.It is very possible that you can use your object model in its default state.

Per iniziare velocemente, usare Object Relational DesignerObject Relational Designer per creare il modello a oggetti e avviare la codifica delle query.For a really fast start, use the Object Relational DesignerObject Relational Designer to create your object model and start coding your queries.

Creazione del modello a oggettiCreating the Object Model

Il primo passaggio consiste nel creare un modello a oggetti basato sui metadati di un database relazionale esistente.The first step is to create an object model from the metadata of an existing relational database. Il modello a oggetti rappresenta il database secondo il linguaggio di programmazione dello sviluppatore.The object model represents the database according to the programming language of the developer. Per ulteriori informazioni, vedere LINQ al modello a oggetti SQL.For more information, see The LINQ to SQL Object Model.

1. Selezionare uno strumento per creare il modello.1. Select a tool to create the model.

Per la creazione del modello sono disponibili tre strumenti.Three tools are available for creating the model.

  • Il tipo Object Relational DesignerObject Relational DesignerThe Object Relational DesignerObject Relational Designer

    Questa finestra di progettazione offre un'interfaccia utente avanzata per la creazione di un modello a oggetti da un database esistente.This designer provides a rich user interface for creating an object model from an existing database. Questo strumento è parte dell'IDE di Visual Studio ed è più adatto ai database di piccoli o medie dimensioni.This tool is part of the Visual Studio IDE, and is best suited to small or medium databases.

  • Strumento per la generazione del codice SQLMetalThe SQLMetal code-generation tool

    Questa utilità della riga di comando offre un set di opzioni leggermente diverso rispetto a O/R DesignerO/R Designer.This command-line utility provides a slightly different set of options from the O/R DesignerO/R Designer. Questo strumento è più adatto per la modellazione di database di grandi dimensioni.Modeling large databases is best done by using this tool. Per altre informazioni, vedere SqlMetal.exe (strumento per la generazione del codice).For more information, see SqlMetal.exe (Code Generation Tool).

  • Editor di codiceA code editor

    È possibile scrivere codice personalizzato tramite l'editor di codice di Visual Studio o in un altro editor.You can write your own code by using either the Visual Studio code editor or another editor. Si sconsiglia di usare questo approccio, che può essere soggetto a errori, se si dispone già di un database ed è possibile usare O/R DesignerO/R Designer o lo strumento SQLMetal.We do not recommend this approach, which can be prone to errors, when you have an existing database and can use either the O/R DesignerO/R Designer or the SQLMetal tool. L'editor di codice può tuttavia essere utile per perfezionare o modificare il codice già generato usando altri strumenti.However, the code editor can be valuable for refining or modifying code you have already generated by using other tools. Per ulteriori informazioni, vedere procedura: personalizzare classi di entità utilizzando l'Editor di codice.For more information, see How to: Customize Entity Classes by Using the Code Editor.

2. Selezionare il tipo di codice che si desidera generare.2. Select the kind of code you want to generate.

  • In c# o Visual Basic file di codice sorgente per il mapping basato sugli attributi.A C# or Visual Basic source code file for attribute-based mapping.

    È quindi possibile includere file di codice nel progetto di Visual Studio.You then include this code file in your Visual Studio project. Per ulteriori informazioni, vedere Mapping basato sugli attributi.For more information, see Attribute-Based Mapping.

  • File XML per il mapping esterno.An XML file for external mapping.

    Usando questo approccio è possibile evitare di includere i metadati di mapping nel codice dell'applicazione.By using this approach, you can keep the mapping metadata out of your application code. Per ulteriori informazioni, vedere Mapping esterno.For more information, see External Mapping.

    Nota

    O/R DesignerO/R Designer non supporta la generazione di file di mapping esterni.The O/R DesignerO/R Designer does not support the generation of external mapping files. Per implementare questa funzionalità è necessario usare lo strumento SQLMetal.You must use the SQLMetal tool to implement this feature.

  • File DBML che potrà essere modificato prima di generare un file di codice finale.A DBML file, which you can modify before generating a final code file.

    Si tratta di una funzionalità avanzata.This is an advanced feature.

3. Perfezionare il file di codice in modo che rifletta le esigenze dell'applicazione.3. Refine the code file to reflect the needs of your application.

A questo scopo, è possibile usare O/R DesignerO/R Designer o l'editor di codice.For this purpose, you can use either the O/R DesignerO/R Designer or the code editor.

Uso del modello a oggettiUsing the Object Model

Nell'immagine seguente viene illustrata la relazione tra lo sviluppatore e i dati in un scenario a due livelli.The following illustration shows the relationship between the developer and the data in a two-tier scenario. Per altri scenari, vedere a più livelli e applicazioni Remote con LINQ to SQL.For other scenarios, see N-Tier and Remote Applications with LINQ to SQL.

DLinqObjectModelDLinqObjectModel

Dopo avere creato il modello a oggetti, si procederà alla descrizione delle richieste di informazioni e alla modifica dei dati all'interno del modello.Now that you have the object model, you describe information requests and manipulate data within that model. Il modello a oggetti deve essere considerato in termini di oggetti e proprietà e non di righe e colonne del database.You think in terms of the objects and properties in your object model and not in terms of the rows and columns of the database. Infatti, non si gestisce direttamente il database.You do not deal directly with the database.

Quando si indica LINQ to SQLLINQ to SQL di eseguire una query che è stata fornita una descrizione o una chiamata SubmitChanges() sui dati modificati, LINQ to SQLLINQ to SQL comunica con il database nella lingua del database.When you instruct LINQ to SQLLINQ to SQL to either execute a query that you have described or call SubmitChanges() on data that you have manipulated, LINQ to SQLLINQ to SQL communicates with the database in the language of the database.

Di seguito sono riportati i passaggi comuni per l'uso del modello a oggetti creato.The following represents typical steps for using the object model that you have created.

1. Creare query per recuperare informazioni dal database.1. Create queries to retrieve information from the database.

Per ulteriori informazioni, vedere concetti relativi alle Query e esempi di Query.For more information, see Query Concepts and Query Examples.

2. Eseguire l'override dei comportamenti predefiniti per le operazioni Insert, Update e Delete.2. Override default behaviors for Insert, Update, and Delete.

Questo passaggio è facoltativo.This step is optional. Per ulteriori informazioni, vedere personalizzazione di operazioni di inserimento, aggiornamento ed eliminare.For more information, see Customizing Insert, Update, and Delete Operations.

3. Impostare le opzioni appropriate per rilevare e segnalare i conflitti di concorrenza.3. Set appropriate options to detect and report concurrency conflicts.

Per gestire i conflitti di concorrenza, è possibile mantenere i valori predefiniti del modello oppure modificarli in base agli scopi del progetto.You can leave your model with its default values for handling concurrency conflicts, or you can change it to suit your purposes. Per ulteriori informazioni, vedere procedura: specificare che i membri vengono verificati i conflitti di concorrenza e procedura: specificare quando le eccezioni di concorrenza vengono generate.For more information, see How to: Specify Which Members are Tested for Concurrency Conflicts and How to: Specify When Concurrency Exceptions are Thrown.

4. Definire una gerarchia di ereditarietà4. Establish an inheritance hierarchy.

Questo passaggio è facoltativo.This step is optional. Per ulteriori informazioni, vedere supporto dell'ereditarietà.For more information, see Inheritance Support.

5. Fornire un'interfaccia utente adatta.5. Provide an appropriate user interface.

Questo passaggio è facoltativo e dipende dalla modalità di uso dell'applicazione.This step is optional, and depends on how your application will be used.

6. Eseguire il debug e il test dell'applicazione.6. Debug and test your application.

Per ulteriori informazioni, vedere supporto per il debug.For more information, see Debugging Support.

Vedere ancheSee Also

IntroduzioneGetting Started
Creazione del modello a oggettiCreating the Object Model
stored procedureStored Procedures