我什么时候应该在Dapper中使用connection.OpenAsync?

问题描述 投票:0回答:1

我正在使用这样的“使用”语句:

using (SqlConnection connection = new(ApplicationSettingsData.ConnectionString)
{
    // connection.Query();
}

当我搜索并了解 dapper 的连接时,它有 2 个解决方法。一个是由 dapper 自动打开/关闭连接,另一个是完全由我控制。

我的理解是,如果我只有一个查询,我应该使用简洁的方法并完成! (如上面的代码) 如果我有多个查询和方法并且需要完成,我应该自己打开连接并让它打开直到我有最后一个查询,然后关闭它(如下面的示例)。

我理解正确吗?

using (SqlConnection connection = new(ApplicationSettingsData.ConnectionString)
{
    await connection.OpenAsync();
    // QueryAsync<>...
    // Execute()...
    // QueryAsync<>...
    await connection.CloseAsync();
}
c# sql ado.net dapper sqlclient
1个回答
0
投票

异步方法用于异步编程。在这两个示例中,您都拥有完全控制权。您也应该在第一个示例中打开连接。

using (SqlConnection connection = new(ApplicationSettingsData.ConnectionString)
{
    connection.Open();
    // connection.Query();
}

不必执行关闭操作,因为 using(){} 语句将调用 connection.Dispose() 并且 dispose 将关闭连接。

© www.soinside.com 2019 - 2024. All rights reserved.