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

例外狀況

備註

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

例外狀況

備註

Entity Framework Core 不支援在相同的 DbCoNtext 實例上執行多個平行作業。 這包括平行執行非同步查詢,以及明確同時使用多個執行緒。 因此,請一律立即等候非同步呼叫,或針對平行執行的作業使用個別的 DbCoNtext 實例。 如需詳細資訊和範例,請參閱 避免 DbCoNtext 執行緒問題

如需詳細資訊和範例,請參閱 使用 Find 和 FindAsync

適用於