0. 前言

SQL Server LocalDB 是 Microsoft 提供的一种轻量级 SQL Server 实例,专为开发和测试场景设计。它易于安装和配置,非常适合在本地计算机上进行开发工作。本文将介绍如何在 C# 应用程序中使用 SQL Server LocalDB,包括安装、配置和连接的步骤。
1. 安装 SQL Server LocalDB
SQL Server LocalDB 通常作为 SQL Server Express 的一部分提供。可以通过以下几种方式来安装 LocalDB:
- 通过 SQL Server Express 安装程序:选择安装过程中提供的 LocalDB 选项。
- 从 Microsoft 下载页面下载:可以直接下载 LocalDB 的安装包并进行安装。
  
2. 创建 LocalDB 实例
安装完成后,可以使用 SqlLocalDB.exe 工具来创建和管理 LocalDB 实例。打开命令提示符或 PowerShell,并使用以下命令来创建 LocalDB 实例:
SqlLocalDB.exe create "MyLocalDBInstance"

 在目录下,可以查看创建的数据库实例文件夹
 
启动实例:
SqlLocalDB.exe start "MyLocalDBInstance"

3. 连接到 LocalDB 实例
在 C# 应用程序中,可以使用 System.Data.SqlClient 或 Microsoft.Data.SqlClient 库来连接 SQL Server LocalDB。首先,确保项目中已经添加了对应的 NuGet 包:
- System.Data.SqlClient:对于 .NET Framework 项目
- Microsoft.Data.SqlClient:对于 .NET Core 或 .NET 5/6+ 项目
使用以下命令在项目中安装:
dotnet add package Microsoft.Data.SqlClient
或者
<ItemGroup>
  <PackageReference Include="Microsoft.Data.SqlClient" Version="5.2.2" />
</ItemGroup>
4. 编写 C# 代码连接 LocalDB
下面的代码示例演示了如何在 C# 中连接到 LocalDB、创建数据库、执行查询和处理结果。
using System;
using Microsoft.Data.SqlClient; // 对于 .NET Core 或 .NET 5/6+
class Program
{
    static void Main()
    {
        // 连接字符串
        string connectionString = @"Server=(localdb)\MyLocalDBInstance;Integrated Security=true;";
        // 创建数据库和表的 SQL 语句
        string createDatabaseQuery = "CREATE DATABASE TestDB;";
        string createTableQuery = "CREATE TABLE TestDB.dbo.Person (Id INT PRIMARY KEY IDENTITY, Name NVARCHAR(50));";
        // 插入数据的 SQL 语句
        string insertDataQuery = "INSERT INTO TestDB.dbo.Person (Name) VALUES ('John Doe');";
        // 连接到 LocalDB 实例
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                // 打开连接
                connection.Open();
                // 执行创建数据库的命令
                using (SqlCommand command = new SqlCommand(createDatabaseQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Database created successfully.");
                }
                // 执行创建表的命令
                using (SqlCommand command = new SqlCommand(createTableQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Table created successfully.");
                }
                // 执行插入数据的命令
                using (SqlCommand command = new SqlCommand(insertDataQuery, connection))
                {
                    command.ExecuteNonQuery();
                    Console.WriteLine("Data inserted successfully.");
                }
                // 查询数据并显示结果
                string selectQuery = "SELECT * FROM TestDB.dbo.Person;";
                using (SqlCommand command = new SqlCommand(selectQuery, connection))
                {
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"An error occurred: {ex.Message}");
            }
        }
    }
}
执行结果
 
 创建数据库
 
5. 使用SSMS链接
按照以下步骤操作,可以在 SQL Server Management Studio (SSMS) 中连接到 SQL Server LocalDB:
-  打开 SSMS:启动 SQL Server Management Studio。 
-  连接到服务器: - 在 “连接到服务器” 窗口中,设置 服务器类型 为 “数据库引擎”。
- 服务器名称 输入 LocalDB 实例名称,通常格式为 (localdb)\MyLocalDBInstance。如果使用默认实例,输入(localdb)\MSSQLLocalDB。
- 身份验证 选择 “Windows 身份验证”。
  
 
-  点击 “连接”:然后,就可以管理 LocalDB 实例中的数据库了。 
  
 如果实例名称不确定,可以使用SqlLocalDB.exe info命令查看所有 LocalDB 实例。
  
6. 总结
通过以上步骤,可以在 C# 应用程序中成功连接和操作 SQL Server LocalDB。LocalDB 为开发提供了一个轻量级的数据库环境,非常适合本地开发和测试。在实际生产环境中,可能会使用完整的 SQL Server 实例,但 LocalDB 是一个极好的开发工具,可以帮助更快速地进行开发和测试。
 



















