DbContext.FindAsync メソッド

定義

オーバーロード

FindAsync(Type, Object[], CancellationToken)

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync(Type, Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync<TEntity>(Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync<TEntity>(Object[], CancellationToken)

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

FindAsync(Type, Object[], CancellationToken)

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

public virtual System.Threading.Tasks.Task<object> FindAsync (Type entityType, object[] keyValues, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask<object> FindAsync (Type entityType, object[] keyValues, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask<object?> FindAsync (Type entityType, object?[]? keyValues, System.Threading.CancellationToken cancellationToken);
abstract member FindAsync : Type * obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.Task<obj>
override this.FindAsync : Type * obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.Task<obj>
abstract member FindAsync : Type * obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
override this.FindAsync : Type * obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<obj>
Public Overridable Function FindAsync (entityType As Type, keyValues As Object(), cancellationToken As CancellationToken) As Task(Of Object)
Public Overridable Function FindAsync (entityType As Type, keyValues As Object(), cancellationToken As CancellationToken) As ValueTask(Of Object)

パラメーター

entityType
Type

検索するエンティティの種類。

keyValues
Object[]

検索するエンティティの主キー値。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

見つかったエンティティ(または null)。

例外

CancellationToken が取り消されている場合。

注釈

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 Find と FindAsync の使用 」を参照してください。

適用対象

FindAsync(Type, Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

public virtual System.Threading.Tasks.Task<object> FindAsync (Type entityType, params object[] keyValues);
public virtual System.Threading.Tasks.ValueTask<object> FindAsync (Type entityType, params object[] keyValues);
public virtual System.Threading.Tasks.ValueTask<object?> FindAsync (Type entityType, params object?[]? keyValues);
abstract member FindAsync : Type * obj[] -> System.Threading.Tasks.Task<obj>
override this.FindAsync : Type * obj[] -> System.Threading.Tasks.Task<obj>
abstract member FindAsync : Type * obj[] -> System.Threading.Tasks.ValueTask<obj>
override this.FindAsync : Type * obj[] -> System.Threading.Tasks.ValueTask<obj>
Public Overridable Function FindAsync (entityType As Type, ParamArray keyValues As Object()) As Task(Of Object)
Public Overridable Function FindAsync (entityType As Type, ParamArray keyValues As Object()) As ValueTask(Of Object)

パラメーター

entityType
Type

検索するエンティティの種類。

keyValues
Object[]

検索するエンティティの主キー値。

戻り値

見つかったエンティティ(または null)。

注釈

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 Find と FindAsync の使用 」を参照してください。

適用対象

FindAsync<TEntity>(Object[])

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

public virtual System.Threading.Tasks.Task<TEntity> FindAsync<TEntity> (params object[] keyValues) where TEntity : class;
public virtual System.Threading.Tasks.ValueTask<TEntity> FindAsync<TEntity> (params object[] keyValues) where TEntity : class;
public virtual System.Threading.Tasks.ValueTask<TEntity?> FindAsync<TEntity> (params object?[]? keyValues) where TEntity : class;
abstract member FindAsync : obj[] -> System.Threading.Tasks.Task<'Entity (requires 'Entity : null)> (requires 'Entity : null)
override this.FindAsync : obj[] -> System.Threading.Tasks.Task<'Entity (requires 'Entity : null)> (requires 'Entity : null)
abstract member FindAsync : obj[] -> System.Threading.Tasks.ValueTask<'Entity (requires 'Entity : null)> (requires 'Entity : null)
override this.FindAsync : obj[] -> System.Threading.Tasks.ValueTask<'Entity (requires 'Entity : null)> (requires 'Entity : null)
Public Overridable Function FindAsync(Of TEntity As Class) (ParamArray keyValues As Object()) As Task(Of TEntity)
Public Overridable Function FindAsync(Of TEntity As Class) (ParamArray keyValues As Object()) As ValueTask(Of TEntity)

型パラメーター

TEntity

検索するエンティティの種類。

パラメーター

keyValues
Object[]

検索するエンティティの主キー値。

戻り値

Task<TEntity>
ValueTask<TEntity>

見つかったエンティティ(または null)。

注釈

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 Find と FindAsync の使用 」を参照してください。

適用対象

FindAsync<TEntity>(Object[], CancellationToken)

指定された主キー値を持つエンティティを検索します。 指定された主キー値を持つエンティティがコンテキストによって追跡されている場合は、データベースに要求を行わずにすぐに返されます。 それ以外の場合は、指定された主キー値を持つエンティティのデータベースに対してクエリが実行され、このエンティティが見つかった場合はコンテキストにアタッチされ、返されます。 エンティティが見つからない場合は、null が返されます。

public virtual System.Threading.Tasks.Task<TEntity> FindAsync<TEntity> (object[] keyValues, System.Threading.CancellationToken cancellationToken) where TEntity : class;
public virtual System.Threading.Tasks.ValueTask<TEntity> FindAsync<TEntity> (object[] keyValues, System.Threading.CancellationToken cancellationToken) where TEntity : class;
public virtual System.Threading.Tasks.ValueTask<TEntity?> FindAsync<TEntity> (object?[]? keyValues, System.Threading.CancellationToken cancellationToken) where TEntity : class;
abstract member FindAsync : obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Entity (requires 'Entity : null)> (requires 'Entity : null)
override this.FindAsync : obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Entity (requires 'Entity : null)> (requires 'Entity : null)
abstract member FindAsync : obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Entity (requires 'Entity : null)> (requires 'Entity : null)
override this.FindAsync : obj[] * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<'Entity (requires 'Entity : null)> (requires 'Entity : null)
Public Overridable Function FindAsync(Of TEntity As Class) (keyValues As Object(), cancellationToken As CancellationToken) As Task(Of TEntity)
Public Overridable Function FindAsync(Of TEntity As Class) (keyValues As Object(), cancellationToken As CancellationToken) As ValueTask(Of TEntity)

型パラメーター

TEntity

検索するエンティティの種類。

パラメーター

keyValues
Object[]

検索するエンティティの主キー値。

cancellationToken
CancellationToken

CancellationTokenタスクの完了を待機している間に観察する 。

戻り値

Task<TEntity>
ValueTask<TEntity>

見つかったエンティティ(または null)。

例外

CancellationToken が取り消されている場合。

注釈

Entity Framework Core では、同じ DbContext インスタンスで複数の並列操作を実行することはできません。 これには、非同期クエリの並列実行と、複数のスレッドからの明示的な同時使用の両方が含まれます。 そのため、非同期呼び出しは常にすぐに待機するか、並列で実行される操作には個別の DbContext インスタンスを使用します。 詳細と例については、「 DbContext スレッドの問題を回避する 」を参照してください。

詳細と例については、「 Find と FindAsync の使用 」を参照してください。

適用対象