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”以确保在对此上下文调用另一个方法前完成了所有异步操作。

请参阅

参考

DbSet 类

FindAsync 重载

System.Data.Entity 命名空间