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数据库。