Applicazioni a più livelli e remote con LINQ to SQLN-Tier and Remote Applications with LINQ to SQL

È possibile creare applicazioni a più livelli che usano LINQ to SQLLINQ to SQL.You can create n-tier or multitier applications that use LINQ to SQLLINQ to SQL. In genere, il LINQ to SQLLINQ to SQL contesto dei dati, le classi di entità e logica di costruzione delle query si trovano nel livello intermedio come livello di accesso ai dati (DAL).Typically, the LINQ to SQLLINQ to SQL data context, entity classes, and query construction logic are located on the middle tier as the data access layer (DAL). La regola business e i dati non persistenti possono essere implementati completamente in classi e metodi parziali di entità e nel contesto dati oppure possono essere implementati in classi separate.Business logic and any non-persistent data can be implemented completely in partial classes and methods of entities and the data context, or it can be implemented in separate classes.

Il livello client o di presentazione chiama i metodi nell'interfaccia remota del livello intermedio e il DAL di tale livello eseguirà le query o le stored procedure di cui è stato eseguito il mapping ai metodi DataContext.The client or presentation layer calls methods on the middle-tier's remote interface, and the DAL on that tier will execute queries or stored procedures that are mapped to DataContext methods. Il livello intermedio in genere restituisce i dati ai client come rappresentazioni XML di entità o oggetti proxy.The middle tier returns the data to clients typically as XML representations of entities or proxy objects.

Nel livello intermedio, le entità vengono create dal contesto dati che tiene traccia dello stato e gestisce il caricamento posticipato e l'invio delle modifiche al database.On the middle tier, entities are created by the data context, which tracks their state, and manages deferred loading from and submission of changes to the database. Queste entità sono "collegate" all'oggetto DataContext.These entities are "attached" to the DataContext. Tuttavia, le entità vengono disconnesse dopo l'invio a un altro livello mediante la serializzazione, ovvero DataContext non tiene più traccia del relativo stato.However, after the entities are sent to another tier through serialization, they become detached, which means the DataContext is no longer tracking their state. Le entità inviate dal client per gli aggiornamenti devono essere ricollegate al contesto dati prima che LINQ to SQLLINQ to SQL sia in grado di inviare le modifiche al database.Entities that the client sends back for updates must be reattached to the data context before LINQ to SQLLINQ to SQL can submit the changes to the database. Il client ha lo scopo di fornire al livello intermedio i valori originali e/o i timestamp se richiesti per i controlli di concorrenza ottimistica.The client is responsible for providing original values and/or timestamps back to the middle tier if those are required for optimistic concurrency checks.

Nelle applicazioni ASP.NET, LinqDataSource gestisce gran parte di questa complessità.In ASP.NET applications, the LinqDataSource manages most of this complexity. Per ulteriori informazioni, vedere NIB: Panoramica del controllo Server Web LinqDataSource.For more information, see NIB: LinqDataSource Web Server Control Overview.

Risorse aggiuntiveAdditional Resources

Per altre informazioni sull'implementazione delle applicazioni a più livelli che usano LINQ to SQLLINQ to SQL, vedere gli argomenti seguenti:For more information about how to implement n-tier applications that use LINQ to SQLLINQ to SQL, see the following topics:

Per ulteriori informazioni sulle applicazioni a più livelli che utilizzano i dataset ADO.NET, vedere utilizzano set di dati nelle applicazioni a più livelli.For more information about n-tier applications that use ADO.NET DataSets, see Work with datasets in n-tier applications.

Vedere ancheSee Also

Informazioni di baseBackground Information