当前位置:首页 > 行业动态 > 正文

c#中如何连接本地数据库

在C#中,要连接本地数据库,通常使用ADO.NET或Entity Framework。通过ADO.NET,可以使用 SqlConnection类并指定连接字符串来建立连接;而Entity Framework则提供了更高级的ORM功能,简化数据操作。

在C#中连接本地数据库是一个常见的任务,主要涉及到使用ADO.NET或Entity Framework等技术,以下是详细的步骤和示例代码:

准备工作

确保你已经安装了以下工具和组件:

Visual Studio 2022 或更高版本

.NET SDK 6.0 或更高版本

SQL Server(或其他支持的数据库)

c#中如何连接本地数据库

创建数据库

你需要有一个本地数据库,这里以SQL Server为例,你可以使用SQL Server Management Studio (SSMS) 来创建一个数据库,假设我们创建一个名为TestDB的数据库,并在其中创建一个表Users

CREATE DATABASE TestDB;
GO
USE TestDB;
GO
CREATE TABLE Users (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Name NVARCHAR(50),
    Email NVARCHAR(50)
);
GO
INSERT INTO Users (Name, Email) VALUES ('John Doe', 'john@example.com');
GO

配置连接字符串

在C#项目中,你需要配置数据库连接字符串,你可以在appsettings.json文件中添加如下内容:

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=(localdb)\mssqllocaldb;Database=TestDB;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

使用ADO.NET连接数据库

引入必要的命名空间

在你的C#文件中,引入以下命名空间:

using System;
using System.Data;
using System.Data.SqlClient;

编写代码连接数据库并执行查询

下面是一个简单的示例,展示如何使用ADO.NET连接到本地数据库并执行查询:

c#中如何连接本地数据库

class Program
{
    static void Main()
    {
        string connectionString = "Server=(localdb)\mssqllocaldb;Database=TestDB;Trusted_Connection=True;MultipleActiveResultSets=true";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            string query = "SELECT  FROM Users";
            using (SqlCommand command = new SqlCommand(query, connection))
            {
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine($"Id: {reader["Id"]}, Name: {reader["Name"]}, Email: {reader["Email"]}");
                    }
                }
            }
        }
    }
}

5. 使用Entity Framework连接数据库

Entity Framework提供了更高级的ORM功能,使得数据访问更加简洁和高效。

安装Entity Framework包

使用NuGet包管理器安装Microsoft.EntityFrameworkCore包:

Install-Package Microsoft.EntityFrameworkCore

定义数据模型

创建一个类来表示数据库中的表:

c#中如何连接本地数据库

public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Email { get; set; }
}

配置DbContext

创建一个继承自DbContext的类:

public class AppDbContext : DbContext
{
    public DbSet<User> Users { get; set; }
    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
}

配置数据库连接

Program.cs文件中配置数据库连接:

class Program
{
    static void Main()
    {
        var optionsBuilder = new DbContextOptionsBuilder<AppDbContext>();
        optionsBuilder.UseSqlServer("Server=(localdb)\mssqllocaldb;Database=TestDB;Trusted_Connection=True;MultipleActiveResultSets=true");
        using (var context = new AppDbContext(optionsBuilder.Options))
        {
            // 查询数据
            var users = context.Users.ToList();
            foreach (var user in users)
            {
                Console.WriteLine($"Id: {user.Id}, Name: {user.Name}, Email: {user.Email}");
            }
        }
    }
}

介绍了两种在C#中连接本地数据库的方法:使用ADO.NET和使用Entity Framework,选择哪种方法取决于你的具体需求和项目规模,对于简单的数据库操作,ADO.NET已经足够;而对于复杂的数据模型和业务逻辑,Entity Framework可能是更好的选择。