DbSet<TEntity>.FindAsync メソッド (CancellationToken, Object[])
[このページは、Entity Framework 6 に関するページです。最新バージョンは、'Entity Framework' NuGet パッケージとして入手できます。Entity Framework の詳細については、msdn.com/data/ef を参照してください。]
指定された主キー値を持つエンティティを非同期で検索します。 指定された主キー値を持つエンティティがコンテキスト内に存在する場合は、そのエンティティがすぐに返され、ストアへの要求は行われません。 それ以外の場合は、指定された主キー値を持つエンティティについてストアに要求が行われ、エンティティが見つかるとコンテキストにアタッチされて返されます。 コンテキスト内またはストア内にエンティティが見つからない場合は null が返されます。
名前空間: System.Data.Entity
アセンブリ: EntityFramework (EntityFramework.dll 内)
構文
'宣言
Public Overridable Function FindAsync ( _
cancellationToken As CancellationToken, _
ParamArray keyValues As Object() _
) As Task(Of TEntity)
'使用
Dim instance As DbSet
Dim cancellationToken As CancellationToken
Dim keyValues As Object()
Dim returnValue As Task(Of TEntity)
returnValue = instance.FindAsync(cancellationToken, _
keyValues)
public virtual Task<TEntity> FindAsync(
CancellationToken cancellationToken,
params Object[] keyValues
)
public:
virtual Task<TEntity>^ FindAsync(
CancellationToken cancellationToken,
... array<Object^>^ keyValues
)
abstract FindAsync :
cancellationToken:CancellationToken *
keyValues:Object[] -> Task<'TEntity>
override FindAsync :
cancellationToken:CancellationToken *
keyValues:Object[] -> Task<'TEntity>
public function FindAsync(
cancellationToken : CancellationToken,
... keyValues : Object[]
) : Task<TEntity>
パラメーター
- cancellationToken
型 : System.Threading.CancellationToken
タスクの完了を待機しているときに観察する CancellationToken。
- keyValues
型 : System.Object[]
検索するエンティティの主キー値。
戻り値
型 : System.Threading.Tasks.Task<TEntity>
非同期検索操作を表すタスク。タスク結果には、検出されたエンティティまたは null が示されます。
例外
例外 | 状態 |
---|---|
InvalidOperationException | 指定したプライマリ キーの値を持つエンティティがコンテキスト内に複数存在する場合にスローされます。 |
InvalidOperationException | エンティティ型が、このコンテキストのデータ モデルの一部でない場合にスローされます。 |
InvalidOperationException | キー値の型が、検索対象のエンティティ型のキー値の型と一致しない場合にスローされます。 |
InvalidOperationException | コンテキストが破棄されている場合にスローされます。 |
解説
複合キー値の順序は EDM で定義され、さらにデザイナーの Code First Fluent API、または DataMember 属性によって定義されています。 同じコンテキスト インスタンスに対する複数のアクティブ操作はサポートされません。 このコンテキストで別のメソッドを呼び出す前に、非同期操作が完了したことを確認するために await を使用します。