DbSet.FindAsync 方法 (Object[])
[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]
异步查找带给定主键值的实体。 如果上下文中存在带给定主键值的实体,则立即返回该实体,而不会向存储区发送请求。 否则,会向存储区发送查找带给定主键值的实体的请求,如果找到该实体,则将其附加到上下文并返回。 如果未在上下文或存储区中找到实体,则返回 null。
命名空间: System.Data.Entity
程序集: EntityFramework(在 EntityFramework.dll 中)
语法
声明
Public Overridable Function FindAsync ( _
ParamArray keyValues As Object() _
) As Task(Of Object)
用法
Dim instance As DbSet
Dim keyValues As Object()
Dim returnValue As Task(Of Object)
returnValue = instance.FindAsync(keyValues)
public virtual Task<Object> FindAsync(
params Object[] keyValues
)
public:
virtual Task<Object^>^ FindAsync(
... array<Object^>^ keyValues
)
abstract FindAsync :
keyValues:Object[] -> Task<Object>
override FindAsync :
keyValues:Object[] -> Task<Object>
public function FindAsync(
... keyValues : Object[]
) : Task<Object>
参数
- keyValues
类型:System.Object[]
要查找的实体的主键值。
返回值
类型:System.Threading.Tasks.Task<Object>
表示异步查找操作的任务。任务结果包含找到的实体或 null。
异常
例外 | 条件 |
---|---|
InvalidOperationException | 如果上下文中存在具有给定主键值的多个实体,则引发此异常。 |
InvalidOperationException | 如果实体类型不是此上下文的数据模型的一部分,则引发此异常。 |
InvalidOperationException | 如果键值的类型与要查找的实体类型的键值类型不匹配,则引发此异常。 |
InvalidOperationException | 在已释放上下文时引发。 |
备注
组合键值的顺序在 EDM 中定义,而 EDM 又在设计器中由 Code First fluent API 或 DataMember 特性定义。 不支持对同一上下文实例执行多个活动操作。 使用“await”以确保在对此上下文调用另一个方法前完成了所有异步操作。