当前位置:实例文章 » C#开发实例» [文章]C#实战:Dapper操作PostgreSQL笔记

C#实战:Dapper操作PostgreSQL笔记

发布人:shili8 发布时间:2024-02-05 09:42 阅读次数:96

在C#开发中,我们经常需要操作数据库来存储和管理数据。而Dapper是一个轻量级的ORM框架,可以帮助我们更方便地操作数据库。本文将介绍如何使用Dapper来操作PostgreSQL数据库,并提供一些代码示例和注释。

首先,我们需要安装Dapper和Npgsql包。可以通过NuGet包管理器来安装这两个包:

bashInstall-Package DapperInstall-Package Npgsql


接下来,我们需要创建一个数据库连接字符串:

csharpstring connectionString = "Server=localhost;Port=5432;Database=mydatabase;User Id=myuser;Password=mypassword;";


然后,我们可以使用Dapper来执行SQL查询和命令。以下是一些常用的Dapper操作示例:

csharpusing (var connection = new NpgsqlConnection(connectionString))
{
 // 查询数据 var users = connection.Query("SELECT * FROM users").ToList();
 // 插入数据 var newUser = new User { Name = "John", Age =30 };
 connection.Execute("INSERT INTO users (name, age) VALUES (@Name, @Age)", newUser);
 // 更新数据 connection.Execute("UPDATE users SET age = @Age WHERE name = @Name", new { Name = "John", Age =31 });
 // 删除数据 connection.Execute("DELETE FROM users WHERE name = @Name", new { Name = "John" });
}


在上面的代码中,我们首先创建了一个NpgsqlConnection对象,并使用连接字符串来连接到数据库。然后,我们可以使用Query方法来执行查询操作,使用Execute方法来执行插入、更新和删除操作。

需要注意的是,Dapper会自动将对象的属性映射到SQL参数,因此我们可以使用匿名对象或实体类来传递参数。

另外,我们还可以使用Dapper的事务功能来执行事务操作。以下是一个事务操作的示例:

csharpusing (var connection = new NpgsqlConnection(connectionString))
{
 connection.Open();
 using (var transaction = connection.BeginTransaction())
 {
 try {
 connection.Execute("INSERT INTO users (name, age) VALUES ('Alice',25)", transaction: transaction);
 connection.Execute("INSERT INTO users (name, age) VALUES ('Bob',30)", transaction: transaction);
 transaction.Commit();
 }
 catch (Exception ex)
 {
 transaction.Rollback();
 }
 }
}


在上面的代码中,我们首先打开了数据库连接,并创建了一个事务对象。然后,我们在事务中执行两个插入操作,并在try-catch块中进行事务提交或回滚。

总的来说,Dapper是一个简单易用的ORM框架,可以帮助我们更方便地操作数据库。通过本文的介绍和示例代码,希望能帮助大家更好地使用Dapper来操作PostgreSQL数据库。

其他信息

其他资源

Top