将代码换成Dapper写法
时间: 2024-09-16 18:01:57 浏览: 42
ORM-Dapper示例全代码
原代码使用的是ADO.NET直接操作数据库连接。转换成Dapper(一个轻量级的ORM库)的写法,可以简化SQL查询,并提供更好的错误处理和性能。以下是使用Dapper的版本:
首先,需要安装Dapper NuGet包。然后,你可以这样重写`UploadWithDuplicateCheck`方法:
```csharp
using Dapper;
public static int UploadWithDuplicateCheckUsingDapper(ps_pcaoicheck_data pc)
{
string sql = "SELECT COUNT(*) FROM ps_pcaoicheck_data WHERE actime = @actime AND line = @line";
var connection = OpenConnection();
int count = connection.Query<int>(sql, new { actime = pc.actime, line = pc.line }).FirstOrDefault();
if (count > 0)
{
return 0; // 或者根据已有记录处理,例如抛出异常或返回标识符
}
try
{
sql = "INSERT INTO ps_pcaoicheck_data (actime, line, uploadtime) VALUES (@actime, @line, @uploadtime)";
connection.Execute(sql, pc);
return pc.Id; // 返回新插入记录的ID
}
catch (Exception ex)
{
throw ex;
}
finally
{
CloseConnection(connection);
}
}
private IDbConnection OpenConnection()
{
// 这里是打开Dapper连接的部分,通常会缓存连接
return new SqlConnection(Con2pmsb());
}
private void CloseConnection(IDbConnection connection)
{
// 关闭连接
connection.Close();
}
```
这里使用了Dapper的`Query`方法进行计数查询,如果存在重复记录则跳过插入;使用`Execute`方法进行实际插入操作。
阅读全文