// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
#if !NET40
namespace System.Data.Entity.Infrastructure
{
using System.Collections;
using System.Threading;
using System.Threading.Tasks;
///
/// Asynchronous version of the interface that allows elements to be retrieved asynchronously.
/// It is used to interact with Entity Framework queries and shouldn't be implemented by custom classes.
///
public interface IDbAsyncEnumerator : IDisposable
{
///
/// Advances the enumerator to the next element in the sequence, returning the result asynchronously.
///
/// The token to monitor for cancellation requests.
/// A Task containing the result of the operation: true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the sequence.
Task MoveNextAsync(CancellationToken cancellationToken);
///
/// Gets the current element in the iteration.
///
object Current { get; }
}
}
#endif