[英]DBCommand using block
我有以下代碼:
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Events";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
通過閱讀該站點上的幾篇文章,建議DbCommand
應該在using塊中,但是,我看不到為什么需要這樣做。 連接已關閉,那么DbCommand堅持使用的是什么需要using塊? 如果從IDisposable繼承的類必須使用using塊或手動調用Dispose確實是這種情況?
我在上面的代碼上運行了一個具有100個線程的模擬器,並且在DbCommand
上使用了帶有using塊的代碼,但我發現內存使用沒有真正的區別。
DbCommand
是抽象的,並且不預設特定於供應商的子類將擁有哪些本機資源,以及應該以什么順序釋放它們。 using
塊的正確嵌套似乎是合理的隱式編碼約定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.