Condividi tramite


LINQ to SQL con applicazioni client/server strettamente collegate

LINQ to SQL può essere utilizzato nel livello intermedio con i client intelligenti strettamente collegati nel livello di presentazione. Gli scenari che prevedono l'accesso ai dati di sola lettura, nessun controllo di concorrenza ottimistica o concorrenza ottimistica con timestamp, non sono molto più complessi degli scenari non remoti. Tuttavia, quando un database richiede i controlli di concorrenza ottimistica con valori originali, LINQ to SQL non fornisce il livello di supporto per eseguire un round trip dei dati presenti nei dataset. Un livello intermedio di LINQ to SQL può però scambiare dati con client su qualsiasi piattaforma.

LINQ to SQL in Visual Studio 2008 non fornisce alcuna infrastruttura per il rilevamento dello stato dell'entità dopo la serializzazione in un client. LINQ to SQL consente le architetture orientate ai servizi dove le interazioni tra i dati e i livelli di presentazione sono piccole e relativamente atomiche ma non esegue alcun round trip dei valori originali. Pertanto, se si desidera utilizzare un client intelligente strettamente collegato con LINQ to SQL e un database utilizza la concorrenza ottimistica con i valori originali, sarà necessario implementare il meccanismo personalizzato di comunicazione delle modifiche tra il livello di presentazione e il livello intermedio. Utilizzare Progettazione sistemi per stabilire se effettuare questa operazione aggiuntiva a fronte dei vantaggi che LINQ to SQL fornisce nel livello intermedio. D'altra parte, se il database ha timestamp, non è necessario una logica personalizzata per il rilevamento delle modifiche.

Vedere anche

Concetti

Applicazioni a più livelli e remote con LINQ to SQL

LINQ to SQL a più livelli con servizi Web

Altre risorse

Utilizzo dei dataset nelle applicazioni a più livelli