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
- source
Tipo: System.Linq.IQueryable<TSource>
Oggetto IQueryable<T> di cui restituire il singolo elemento.
- predicate
Tipo: System.Linq.Expressions.Expression<Func<TSource, Boolean>>
Funzione per testare un elemento per una condizione.
- cancellationToken
Tipo: System.Threading.CancellationToken
Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.
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.