다음을 통해 공유


EntityFrameworkQueryableExtensions.SingleOrDefaultAsync 메서드

정의

오버로드

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

시퀀스의 유일한 요소를 비동기적으로 반환하거나 시퀀스가 비어 있는 경우 기본값을 반환합니다. 시퀀스에 요소가 두 개 이상 있는 경우 이 메서드는 예외를 throw합니다.

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

지정된 조건을 충족하는 시퀀스의 유일한 요소 또는 이러한 요소가 없는 경우 기본값을 비동기적으로 반환합니다. 이 메서드는 둘 이상의 요소가 조건을 충족하는 경우 예외를 throw합니다.

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

시퀀스의 유일한 요소를 비동기적으로 반환하거나 시퀀스가 비어 있는 경우 기본값을 반환합니다. 시퀀스에 요소가 두 개 이상 있는 경우 이 메서드는 예외를 throw합니다.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

단일 요소를 반환할 IQueryable<T>입니다.

cancellationToken
CancellationToken

CancellationToken 작업이 완료 될 때까지 기다리는 동안 관찰할 입니다.

반환

Task<TSource>

비동기 작업(operation)을 나타내는 작업(task)입니다. 작업 결과에는 입력 시퀀스의 단일 요소가 포함되며 default , 시퀀스에 요소가 없는 경우 ( TSource)가 포함됩니다.

예외

sourcenull입니다.

source에는 둘 이상의 요소가 있습니다.

설명

동일한 컨텍스트 instance 여러 활성 작업은 지원되지 않습니다. 를 사용하여 await 이 컨텍스트에서 다른 메서드를 호출하기 전에 비동기 작업이 완료되었는지 확인합니다. 자세한 내용 및 예제 는 DbContext 스레딩 문제 방지 를 참조하세요.

자세한 내용과 예제 는 EF Core를 사용하여 데이터 쿼리 를 참조하세요.

적용 대상

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

지정된 조건을 충족하는 시퀀스의 유일한 요소 또는 이러한 요소가 없는 경우 기본값을 비동기적으로 반환합니다. 이 메서드는 둘 이상의 요소가 조건을 충족하는 경우 예외를 throw합니다.

public static System.Threading.Tasks.Task<TSource> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
public static System.Threading.Tasks.Task<TSource?> SingleOrDefaultAsync<TSource> (this System.Linq.IQueryable<TSource> source, System.Linq.Expressions.Expression<Func<TSource,bool>> predicate, System.Threading.CancellationToken cancellationToken = default);
static member SingleOrDefaultAsync : System.Linq.IQueryable<'Source> * System.Linq.Expressions.Expression<Func<'Source, bool>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Source>
<Extension()>
Public Function SingleOrDefaultAsync(Of TSource) (source As IQueryable(Of TSource), predicate As Expression(Of Func(Of TSource, Boolean)), Optional cancellationToken As CancellationToken = Nothing) As Task(Of TSource)

형식 매개 변수

TSource

source 요소의 형식입니다.

매개 변수

source
IQueryable<TSource>

단일 요소를 반환할 IQueryable<T>입니다.

predicate
Expression<Func<TSource,Boolean>>

요소를 조건에 대해 테스트하는 함수입니다.

cancellationToken
CancellationToken

CancellationToken 작업이 완료 될 때까지 기다리는 동안 관찰할 입니다.

반환

Task<TSource>

비동기 작업(operation)을 나타내는 작업(task)입니다. 작업 결과에는 의 조건을 predicate충족하는 입력 시퀀스의 단일 요소가 포함됩니다. 또는 default ( TSource ) 이러한 요소가 없으면 입니다.

예외

source 또는 predicatenull인 경우

predicate의 조건에 맞는 요소가 둘 이상인 경우

설명

동일한 컨텍스트 instance 여러 활성 작업은 지원되지 않습니다. 를 사용하여 await 이 컨텍스트에서 다른 메서드를 호출하기 전에 비동기 작업이 완료되었는지 확인합니다. 자세한 내용 및 예제 는 DbContext 스레딩 문제 방지 를 참조하세요.

자세한 내용과 예제 는 EF Core를 사용하여 데이터 쿼리 를 참조하세요.

적용 대상