Partager via


QueryableExtensions.SingleOrDefaultAsync<TSource>, méthode (IQueryable<TSource>, Expression<Func<TSource, Boolean>>, CancellationToken)

[Cette page concerne Entity Framework version 6. La dernière version est disponible sous le nom de package 'Entity Framework' NuGet. Pour plus d'informations sur Entity Framework, consultez msdn.com/data/ef.]

Retourne de façon asynchrone le seul élément d'une séquence ou une valeur par défaut si cette séquence ne contient pas d'élément respectant cette condition. Cette méthode lève une exception si cette séquence contient plusieurs éléments satisfaisant cette condition.

Espace de noms :  System.Data.Entity
Assembly :  EntityFramework (dans EntityFramework.dll)

Syntaxe

'Déclaration
<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)
'Utilisation
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.

Paramètres de type

  • TSource
    Type des éléments de source.

Paramètres

Valeur de retour

Type : System.Threading.Tasks.Task<TSource>
Tâche qui représente l'opération asynchrone.Le résultat de la tâche contient le seul élément de la séquence d'entrée qui satisfait la condition dans predicate ou default (TSource) s'il n'existe aucun élément de ce type.

Remarque sur l'utilisation

En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type IQueryable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez https://msdn.microsoft.com/fr-fr/library/bb384936(v=vs.113) ou https://msdn.microsoft.com/fr-fr/library/bb383977(v=vs.113).

Exceptions

Exception Condition
ArgumentNullException

source ou predicate a la valeur null.

InvalidOperationException

source n'implémente pas IDbAsyncQueryProvider.

Notes

Plusieurs opérations actives sur la même instance de contexte ne sont pas prises en charge. Utilisez « await » pour garantir que toutes les opérations asynchrones sont terminées avant d'appeler une autre méthode dans ce contexte.

Voir aussi

Référence

QueryableExtensions Classe

Surcharge SingleOrDefaultAsync

Espace de noms System.Data.Entity