Dapper對於數據庫連接的管理:如果已經打開,它會關閉連接。如果你只是做一個快速查詢-讓Dopter自己處理它。
如果你做了很多事情,你應該自己打開連接,並在最后關閉連接,所有的查詢在中…只是從效率的角度來看。
bool wasClosed = cnn.State == ConnectionState.Closed; using (var cmd = (DbCommand)command.SetupCommand(cnn, info.ParamReader)) { try { if (wasClosed) await ((DbConnection)cnn).OpenAsync(command.CancellationToken).ConfigureAwait(false); var result = await cmd.ExecuteNonQueryAsync(command.CancellationToken).ConfigureAwait(false); command.OnCompleted(); return result; } finally { if (wasClosed) cnn.Close(); } }
其實dapper對連接的打開關閉已經處理的很好,大多數情況下我們並不需要去另外做處理,只管調用它提供的方法即可。
