Condividi tramite


Metodo QueryableExtensions.SingleOrDefaultAsync<TSource> (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)

[Questa pagina è specifica della versione 6 di Entity Framework. La versione più recente è disponibile come pacchetto NuGet per "Entity Framework". Per ulteriori informazioni su Entity Framework, vedere la pagina msdn.com/data/ef.]

Restituisce in modo asincrono il singolo elemento di una sequenza che soddisfa una condizione specificata o un valore predefinito se tale elemento esiste. Questo metodo genera un'eccezione se più elementi soddisfano la condizione.

Spazio dei nomi:  System.Data.Entity
Assembly:  EntityFramework (in EntityFramework.dll)

Sintassi

'Dichiarazione
<ExtensionAttribute> _
<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")> _
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Shared Function SingleOrDefaultAsync(Of TSource) ( _
    source As IQueryable(Of TSource), _
    predicate As Expression(Of Func(Of TSource, Boolean)), _
    cancellationToken As CancellationToken _
) As Task(Of TSource)
'Utilizzo
Dim source As IQueryable(Of TSource)
Dim predicate As Expression(Of Func(Of TSource, Boolean))
Dim cancellationToken As CancellationToken 
Dim returnValue As Task(Of TSource)

returnValue = source.SingleOrDefaultAsync(predicate, _
    cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public static Task<TSource> SingleOrDefaultAsync<TSource>(
    this IQueryable<TSource> source,
    Expression<Func<TSource, bool>> predicate,
    CancellationToken cancellationToken
)
[ExtensionAttribute]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1011:ConsiderPassingBaseTypesAsParameters")]
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TSource>
static Task<TSource>^ SingleOrDefaultAsync(
    IQueryable<TSource>^ source, 
    Expression<Func<TSource, bool>^>^ predicate, 
    CancellationToken cancellationToken
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")>]
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
static member SingleOrDefaultAsync : 
        source:IQueryable<'TSource> * 
        predicate:Expression<Func<'TSource, bool>> * 
        cancellationToken:CancellationToken -> Task<'TSource> 
JScript does not support generic types and methods.

Parametri di tipo

  • TSource
    Tipo degli elementi di source.

Parametri

Valore restituito

Tipo: System.Threading.Tasks.Task<TSource>
Attività che rappresenta l'operazione asincrona.Il risultato dell'attività contiene il singolo elemento della sequenza di input che soddisfa la condizione in predicate o default (TSource) se non viene trovato un elemento di tale tipo.

Nota sull'utilizzo

In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo IQueryable<TSource>. Per chiamare il metodo usando la sintassi del metodo di istanza, omettere il primo parametro. Per altre informazioni, vedere https://msdn.microsoft.com/it-it/library/bb384936(v=vs.113) o https://msdn.microsoft.com/it-it/library/bb383977(v=vs.113).

Eccezioni

Eccezione Condizione
ArgumentNullException

source o predicate è null.

InvalidOperationException

source non implementa IDbAsyncQueryProvider .

Note

Non è consentito eseguire più operazioni attive nella stessa istanza di contesto. Utilizzare 'await' per assicurarsi che eventuali operazioni asincrone vengano completate prima di chiamare un altro metodo su questo contesto.

Vedere anche

Riferimento

QueryableExtensions Classe

Overload SingleOrDefaultAsync

Spazio dei nomi System.Data.Entity