ObjectResult<T>.Dispose 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
리소스 확보, 해제 또는 재설정과 관련된 작업을 수행합니다.
public:
override void Dispose();
public override void Dispose ();
override this.Dispose : unit -> unit
Public Overrides Sub Dispose ()
예제
이 항목의 예제는 Microsoft SQL Server 제품 샘플: 데이터베이스를 기반으로 합니다. 예제에서는 ObjectResult<T> 메서드를 사용하여 Execute를 반환합니다. @FSHO2@그런 다음 열거자를 가져오고 쿼리 결과를 반복합니다. @FSHO2@끝으로 열거자와 ObjectResult<T> 개체를 해제합니다.
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
ObjectSet<Product> query = context.Products;
ObjectResult<Product> queryResults = null;
System.Collections.IEnumerator enumerator = null;
try
{
queryResults = query.Execute(MergeOption.AppendOnly);
// Get the enumerator.
enumerator = ((System.Collections.IEnumerable)queryResults).GetEnumerator();
// Iterate through the query results.
while (enumerator.MoveNext())
{
Product product = (Product)enumerator.Current;
Console.WriteLine("{0}", product.Name);
}
// Dispose the enumerator
((IDisposable)enumerator).Dispose();
}
finally
{
// Dispose the query results and the enumerator.
if (queryResults != null)
{
queryResults.Dispose();
}
if (enumerator != null)
{
((IDisposable)enumerator).Dispose();
}
}
}
Using context As New AdventureWorksEntities()
Dim query As ObjectSet(Of Product) = context.Products
Dim queryResults As ObjectResult(Of Product) = Nothing
Dim enumerator As System.Collections.IEnumerator = Nothing
Try
queryResults = query.Execute(MergeOption.AppendOnly)
' Get the enumerator.
enumerator = DirectCast(queryResults, System.Collections.IEnumerable).GetEnumerator()
' Iterate through the query results.
While enumerator.MoveNext()
Dim product As Product = DirectCast(enumerator.Current, Product)
Console.WriteLine("{0}", product.Name)
End While
' Dispose the enumerator
DirectCast(enumerator, IDisposable).Dispose()
Finally
' Dispose the query results and the enumerator.
If queryResults IsNot Nothing Then
queryResults.Dispose()
End If
If enumerator IsNot Nothing Then
DirectCast(enumerator, IDisposable).Dispose()
End If
End Try
End Using
설명
쿼리 결과가 포함된 DbDataReader를 닫습니다.