Supporto di SqlClient per LocalDB

Usare il pacchetto NuGet Microsoft.Data.SqlClient per connettersi a LocalDB, una versione leggera di SQL Server disponibile in Windows. Usare l'autenticazione integrata di Windows per gli esempi in questo articolo.

Osservazioni:

Per riepilogare le operazioni che è possibile eseguire con LocalDB:

  • Creare e avviare istanze di LocalDB con SqlLocalDB.exe.

  • Usare sqlcmd.exe per aggiungere e modificare database in un'istanza di LocalDB. Ad esempio: sqlcmd -S (localdb)\myinst.

  • Usare la parola chiave della AttachDBFilename stringa di connessione per aggiungere un database all'istanza di LocalDB. Quando si usa AttachDBFilename, se non si specifica il nome del database con la parola chiave della Database stringa di connessione, il database verrà rimosso dall'istanza di LocalDB alla chiusura dell'applicazione.

  • Specificare un'istanza di LocalDB nella stringa di connessione. Ad esempio, il nome dell'istanza è myInstance, la stringa di connessione includerà:

    Server=(localdb)\myInstance;Database=<database>;Integrated Security=true;Encrypt=true

User Instance=True non è consentito quando ci si connette a un database LocalDB.

Per informazioni sull'installazione di LocalDB, vedere SQL Server Express LocalDB.

Creare un'istanza denominata tramite programmazione

Microsoft. Data.SqlClient nei .NET moderni non usa la sezione di configurazione di .NET Frameworksystem.data.localdb. Creare e avviare l'istanza prima che l'applicazione apra una connessione:

SqlLocalDB.exe create myInstance
SqlLocalDB.exe start myInstance

Specificare lo stesso nome di istanza nella Server parola chiave connection-string. Per allegare un file di database esistente, impostare AttachDBFilename sul percorso completo del file e impostare Database sul nome del database.

Per lo sviluppo locale con un'istanza di LocalDB che non dispone di un certificato server attendibile, usare Encrypt=true;TrustServerCertificate=true. Questa impostazione crittografa la connessione ma ignora la convalida del certificato del server. Per le connessioni di produzione remota, usare Encrypt=true;TrustServerCertificate=false e configurare un certificato server attendibile dal client e che corrisponda al nome del server. Per altre informazioni, vedere Crittografia e convalida dei certificati in Microsoft.Data.SqlClient.

Vedere anche