DbDataReader.DisposeAsync Method


Asynchronously releases all resources used by the current instance of the DbDataReader class.

 virtual System::Threading::Tasks::ValueTask DisposeAsync();
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
override this.DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Overridable Function DisposeAsync () As ValueTask



A ValueTask representing the asynchronous operation.



Call Dispose or DisposeAsync when you've finished using the DbDataReader. Calling one of these methods leaves the DbDataReader in an unusable state. After disposing, you must release all references to the DbDataReader so the garbage collector can reclaim the memory that the DbDataReader was occupying.

For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.


Always dispose before you release your last reference to the DbDataReader. Otherwise, the resources it is using will not be freed until the garbage collector calls the DbDataReader object's Finalize method.

The default implementation of this asynchronous method delegates to its synchronous counterpart and returns a completed ValueTask, potentially blocking the calling thread.

Data providers that support asynchronous programming should override the default implementation using asynchronous I/O operations.

Applies to