语言

DbContext.FindAsync 方法

定义

重载

名称 说明
FindAsync(Type, Object[], CancellationToken)

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 null。

FindAsync(Type, Object[])

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 null。

FindAsync<TEntity>(Object[])

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 null。

FindAsync<TEntity>(Object[], CancellationToken)

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 null。

FindAsync(Type, Object[], CancellationToken)

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 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

等待任务完成时观察的 A CancellationToken 。

返回

找到的实体或 null。

例外

如果取消了该操作 CancellationToken 。

注解

Entity Framework Core不支持在同一 DbContext 实例上运行多个并行操作。 这包括异步查询的并行执行以及从多个线程进行的任何显式并发使用。 因此,请始终立即等待异步调用,或者对并行执行的操作使用单独的 DbContext 实例。 有关详细信息和示例,请参阅 避免 DbContext 线程问题 。

有关详细信息和示例,请参阅 使用 Find 和 FindAsync 。

适用于

FindAsync(Type, Object[])

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 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[])

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 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)

Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs
Source:
DbContext.cs

查找具有给定主键值的实体。 如果上下文正在跟踪具有给定主键值的实体,则会立即返回该实体,而无需向数据库发出请求。 否则,将为具有给定主键值的实体的数据库进行查询,如果找到该实体,则会附加到上下文并返回该实体。 如果未找到任何实体,则返回 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

等待任务完成时观察的 A CancellationToken 。

返回

Task<TEntity>
ValueTask<TEntity>

找到的实体或 null。

例外

如果取消了该操作 CancellationToken 。

注解

Entity Framework Core不支持在同一 DbContext 实例上运行多个并行操作。 这包括异步查询的并行执行以及从多个线程进行的任何显式并发使用。 因此,请始终立即等待异步调用,或者对并行执行的操作使用单独的 DbContext 实例。 有关详细信息和示例,请参阅 避免 DbContext 线程问题 。

有关详细信息和示例,请参阅 使用 Find 和 FindAsync 。

适用于