Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SqlConnection SqlCommand SqlDataReader IDisposable

Това е 100% правилният начин. Ако даден клас използва IDisposable той трябва да бъде обвит в using изявление, за да се гарантира, че Dispose() методът се извиква. Освен това, комуникацията с външна технология - при това неуправлявана - като SQL Server не трябва да се приема лекомислено. SqlCommand обектът реализира IDisposable по много добра причина. Кодът по-долу е Dispose() метод за SqlCommand обект:

protected override void Dispose(bool disposing)
{
    if (disposing)
    {
        this._cachedMetaData = null;
    }
    base.Dispose(disposing);
}

и както можете да видите, той пуска препратка към _cachedMetaData обект, за да може и той да бъде почистен.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо да използвате клаузата INCLUDE, когато създавате индекс?

  2. Как работи sys.dm_exec_describe_first_result_set в SQL Server

  3. Разлика между JOIN и INNER JOIN

  4. Какво е СТАТИСТИЧЕСКО ВРЕМЕ в SQL Server?

  5. datetime срещу datetime2 в SQL Server:Каква е разликата?