SqlClient 对 LocalDB 的支持

使用 Microsoft.Data.SqlClient NuGet 包连接到 LocalDB;LocalDB 是 Windows 上提供的 SQL Server 轻量级版本。 对本文中的示例使用Windows集成身份验证。

注解

若要汇总 LocalDB 的功能:

  • 使用 SqlLocalDB.exe.. 创建和启动 LocalDB 实例。

  • 使用 sqlcmd.exe 添加和修改 LocalDB 实例中的数据库。 例如,sqlcmd -S (localdb)\myinst。

  • 使用 AttachDBFilename 连接字符串关键字将数据库添加到 LocalDB 实例。 使用 AttachDBFilename时,如果未使用 Database 连接字符串关键字指定数据库的名称,则在应用程序关闭时,将从 LocalDB 实例中删除数据库。

  • 在连接字符串中指定 LocalDB 实例。 例如,实例名称为 myInstance,连接字符串将包括:

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

User Instance=True 连接到 LocalDB 数据库时不允许使用。

有关安装 LocalDB 的信息,请参阅 SQL Server Express LocalDB。

以编程方式创建命名实例

Microsoft.Data.SqlClient 在现代 .NET 上不使用 .NET Framework system.data.localdb 配置部分。 在应用程序打开连接之前创建并启动实例:

SqlLocalDB.exe create myInstance
SqlLocalDB.exe start myInstance

在 Server 连接字符串关键字中指定相同的实例名称。 若要附加现有数据库文件,请将AttachDBFilename设置为文件的完整路径,并将Database设置为数据库名称。

对于没有受信任服务器证书的 LocalDB 实例进行本地开发,请使用 Encrypt=true;TrustServerCertificate=true。 此设置加密连接,但跳过服务器证书验证。 对于远程生产连接,请使用 Encrypt=true;TrustServerCertificate=false 并配置客户端信任且与服务器名称匹配的服务器证书。 有关详细信息,请参阅 Microsoft.Data.SqlClient 中的加密和证书验证。

另请参阅