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

c#数据库连接

C#数据库连接:涵盖连接字符串、常用类(Sql Connection等)、数据操作方法及注意事项,助开发者掌握在C#中高效连接和操作数据库的方法。

在C#中进行数据库连接是一个常见的操作,通常使用ADO.NET、Entity Framework或Dapper等技术,以下是关于C#数据库连接的详细内容:

一、ADO.NET连接

1、引入命名空间

* 在使用ADO.NET之前,需要在代码文件的顶部引入相关的命名空间,如System.DataSystem.Data.SqlClient(用于SQL Server数据库)。

2、创建连接字符串

连接字符串包含了连接到数据库所需的所有信息,如服务器地址、数据库名称、用户名和密码等,对于SQL Server数据库,连接字符串可能如下所示

string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";

3、创建连接对象

* 使用SqlConnection类(或其他数据库特定的连接类,如OleDbConnection用于OLE DB数据源)来创建连接对象,并传入连接字符串作为参数。

using (SqlConnection connection = new SqlConnection(connectionString))

{

// 在这里执行数据库操作

}

4、打开和关闭连接

* 在执行数据库操作之前,需要打开连接;操作完成后,应立即关闭连接以释放资源。

connection.Open();

// 执行数据库操作,如查询、插入、更新等

connection.Close();

5、执行命令

* 使用SqlCommand类来表示要对数据库执行的命令,可以创建一个SqlCommand对象,并传入要执行的SQL语句和连接对象。

SqlCommand command = new SqlCommand("SELECT * FROM MyTable", connection);

// 执行命令并获取结果

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())

c#数据库连接

{

// 处理读取的数据

}

二、Entity Framework连接

1、安装Entity Framework

* 需要通过NuGet包管理器安装Entity Framework,在Visual Studio中,可以通过“管理NuGet程序包”对话框搜索并安装EntityFramework包。

2、创建模型类

* 根据数据库表的结构,创建相应的模型类,这些模型类将表示数据库中的表和关系,如果有一个名为Users的表,可以创建一个User模型类来表示该表。

public class User

{

public int UserId { get; set; }

public string Name { get; set; }

public string Email { get; set; }

}

3、创建上下文类

* 上下文类继承自DbContext,它表示数据库会话和单元of work模式,在上下文类中,需要定义一个或多个DbSet<T>属性,每个属性对应一个模型类。

public class MyDbContext : DbContext

c#数据库连接

{

public DbSet<User> Users { get; set; }

}

4、配置数据库连接

* 在上下文类的构造函数中,可以传入连接字符串来配置数据库连接,也可以在App.configWeb.config文件中配置连接字符串。

public MyDbContext() : base("name=MyConnectionString")

{

}

5、执行数据库操作

使用上下文类的对象来执行数据库操作,如添加、删除、修改和查询等,要查询所有用户,可以使用以下代码

using (var context = new MyDbContext())

{

var users = context.Users.ToList();

foreach (var user in users)

{

Console.WriteLine(user.Name);

c#数据库连接

}

}

三、Dapper连接

1、安装Dapper

* 通过NuGet包管理器安装Dapper包。

2、创建连接和执行查询

使用SqlConnection创建连接对象,然后使用Dapper的SqlMapper.Query方法来执行查询并获取结果,例如

using (var connection = new SqlConnection(connectionString))

{

var users = connection.Query<User>("SELECT * FROM Users");

foreach (var user in users)

{

Console.WriteLine(user.Name);

}

}

C#提供了多种方式来连接数据库,开发者可以根据具体的需求和项目情况选择适合的方式,无论是使用传统的ADO.NET、功能强大的Entity Framework还是轻量级的Dapper,都能够实现高效、可靠的数据库连接和操作。