ObjectContext 类

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

ObjectContext 是封装 CLR 和数据库之间的连接的顶级元素,充当“创建”、“读取”、“更新”和“删除”操作的网关。

继承层次结构

System.Object
  System.Data.Entity.Core.Objects.ObjectContext

命名空间:  System.Data.Entity.Core.Objects
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")> _
Public Class ObjectContext _
    Implements IDisposable, IObjectContextAdapter
用法
Dim instance As ObjectContext
[SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public class ObjectContext : IDisposable, 
    IObjectContextAdapter
[SuppressMessageAttribute(L"Microsoft.Maintainability", L"CA1506:AvoidExcessiveClassCoupling")]
public ref class ObjectContext : IDisposable, 
    IObjectContextAdapter
[<SuppressMessageAttribute("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")>]
type ObjectContext =  
    class 
        interface IDisposable 
        interface IObjectContextAdapter 
    end
public class ObjectContext implements IDisposable, IObjectContextAdapter

ObjectContext 类型公开以下成员。

构造函数

  名称 描述
公共方法 ObjectContext(String) 使用给定连接字符串和默认实体容器名称初始化 ObjectContext 类的新实例。
公共方法 ObjectContext(EntityConnection) 使用给定的连接初始化 ObjectContext 类的新实例。在构造过程中,从 EntityConnection 对象提取元数据工作区。
受保护的方法 ObjectContext(String, String) 使用给定连接字符串和实体容器名称初始化 ObjectContext 类的新实例。
公共方法 ObjectContext(EntityConnection, Boolean) 使用给定的连接和元数据工作区创建 ObjectContext。
受保护的方法 ObjectContext(EntityConnection, String) 使用给定连接和实体容器名称初始化 ObjectContext 类的新实例。

顶部

属性

  名称 描述
公共属性 CommandTimeout 获取或设置所有对象上下文操作的超时值(以秒为单位)。null 值指示将使用基础提供程序的默认值。
公共属性 Connection 获取对象上下文使用的连接。
公共属性 ContextOptions 获取 ObjectContextOptions 实例,该实例包含影响 ObjectContext 行为的选项。
公共属性 DefaultContainerName 获取或设置默认容器名称。
公共属性 InterceptionContext 返回用于此上下文的 DbInterceptionContext
公共属性 MetadataWorkspace 获取对象上下文使用的元数据工作区。
公共属性 ObjectStateManager 获取对象上下文用于跟踪对象更改的对象状态管理器。
受保护的属性 QueryProvider 获取与此对象上下文关联的 LINQ 查询提供程序。
公共属性 TransactionHandler 获取正由此上下文使用的事务处理程序。如果尚未启动任何事务,则可能为 null。

顶部

方法

  名称 描述
公共方法 AcceptAllChanges 接受在对象上下文中对对象所做的所有更改。
公共方法 AddObject 将对象添加到对象上下文。
公共方法 ApplyCurrentValues<TEntity> 将标量值从提供的对象复制到 ObjectContext 中具有相同键的对象中。
公共方法 ApplyOriginalValues<TEntity> 将标量值从提供的对象复制到 ObjectContext 中具有相同键的对象的原始值集中。
公共方法 ApplyPropertyChanges 已过时。 将已分离对象的属性更改应用于已附加到对象上下文的对象。
公共方法 Attach 在对象具有实体键时将对象或对象图附加到对象上下文。
公共方法 AttachTo 将特定实体集中的对象或对象图附加到对象上下文。
公共方法 CreateDatabase 使用当前数据源连接和 StoreItemCollection 中的元数据创建数据库。
公共方法 CreateDatabaseScript 生成数据定义语言 (DDL) 脚本,该脚本为 StoreItemCollection 中的元数据创建架构对象(表、主键、外键)。StoreItemCollection 用于加载存储架构定义语言 (SSDL) 文件中的元数据。
公共方法 CreateEntityKey 为特定对象创建实体键,如果实体键已存在,则返回该键。
公共方法 CreateObject<T> 创建并返回所请求的类型的实例。
公共方法 CreateObjectSet<TEntity>() 创建新的 ObjectSet<TEntity> 实例,该实例用于查询、添加、修改和删除指定实体类型的对象。
公共方法 CreateObjectSet<TEntity>(String) 创建新的 ObjectSet<TEntity> 实例,该实例用于查询、添加、修改和删除具有指定类型和指定实体集名称的对象。
公共方法 CreateProxyTypes 为提供的枚举中的每个类型生成可与实体框架一同使用的等效类型。
公共方法 CreateQuery<T> 使用指定查询字符串在当前对象上下文中创建 ObjectQuery<T>
公共方法 DatabaseExists 检查在当前存储连接中指定为数据库的数据库是否在存储区上存在。大部分实际工作由当前存储连接的 DbProviderServices 实现完成。
公共方法 DeleteDatabase 删除在当前数据源连接中指定为数据库的数据库。
公共方法 DeleteObject 标记对象以备删除。
公共方法 Detach 从对象上下文移除对象。
公共方法 DetectChanges 确保 ObjectStateEntry 更改与由 ObjectStateManager 跟踪的所有对象中的更改进行同步。
公共方法 Dispose() 释放对象上下文使用的资源。
受保护的方法 Dispose(Boolean) 释放对象上下文使用的资源。
公共方法 Equals (继承自 Object。)
公共方法 ExecuteFunction(String, ObjectParameter[]) 执行在数据源中定义并在概念模型中表示的存储过程或函数,丢弃该函数返回的任何结果,并返回执行该函数影响的行数。
公共方法 ExecuteFunction<TElement>(String, ObjectParameter[]) 使用指定的参数,执行在数据源中定义并在概念模型中映射的存储过程或函数。返回一个类型化的 ObjectResult<T>
公共方法 ExecuteFunction<TElement>(String, ExecutionOptions, ObjectParameter[]) 对默认容器执行给定的函数。
公共方法 ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[]) 使用指定的参数和合并选项,执行在数据源中定义并在概念模型中表示的给定存储过程或函数。返回一个类型化的 ObjectResult<T>
公共方法 ExecuteStoreCommand(String, Object[]) 使用现有连接对数据源直接执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreCommand(TransactionalBehavior, String, Object[]) 使用现有连接对数据源直接执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommand("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreCommandAsync(String, Object[]) 使用现有连接对数据源直接异步执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreCommandAsync(String, CancellationToken, Object[]) 使用现有连接对数据源直接异步执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreCommandAsync(TransactionalBehavior, String, Object[]) 使用现有连接对数据源直接异步执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreCommandAsync(TransactionalBehavior, String, CancellationToken, Object[]) 使用现有连接对数据源直接异步执行任意命令。使用服务器的本机查询语言(如 SQL)指定该命令。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构建一个 DbParameter 并且将其提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreCommandAsync("UPDATE dbo.Posts SET Rating = 5 WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQuery<TElement>(String, Object[]) 对数据源直接执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQuery<TElement>(String, ExecutionOptions, Object[]) 对数据源直接执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQuery<TElement>(String, String, ExecutionOptions, Object[]) 对数据源直接执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。如果指定了实体集名称,则上下文会跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQuery<TElement>(String, String, MergeOption, Object[]) 对数据源直接执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。如果指定了实体集名称,则上下文会跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQuery&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, CancellationToken, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, CancellationToken, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。上下文未跟踪这些结果,请使用指定实体集名称的重载跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。如果指定了实体集名称,则上下文会跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
公共方法 ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, CancellationToken, Object[]) 对数据源直接异步执行查询并返回类型化结果的序列。使用服务器的本机查询语言(如 SQL)指定该查询。如果指定了实体集名称,则上下文会跟踪结果。与接受 SQL 的任何 API 一样,对任何用户输入进行参数化以便避免 SQL 注入攻击是十分重要的。您可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为附加参数提供。您提供的任何参数值都将自动转换为 DbParameter。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @p0", userSuppliedAuthor); 或者,您还可以构造一个 DbParameter 并将它提供给 SqlQuery。这允许您在 SQL 查询字符串中使用命名参数。context.ExecuteStoreQueryAsync&lt;Post&gt;("SELECT * FROM dbo.Posts WHERE Author = @author", new SqlParameter("@author", userSuppliedAuthor));
受保护的方法 Finalize 终结 ObjectContext 类的实例。 (重写 Object.Finalize()。)
公共方法 GetHashCode (继承自 Object。)
公共方法静态成员 GetKnownProxyTypes 返回所有现有代理类型。
公共方法 GetObjectByKey 返回具有指定实体键的对象。
公共方法静态成员 GetObjectType 返回与指定类型的代理对象关联的 POCO 实体的实体类型。
公共方法 GetType (继承自 Object。)
公共方法 LoadProperty(Object, String) 通过指定的导航属性并使用默认合并选项,显式加载与提供的对象相关的对象。
公共方法 LoadProperty(Object, String, MergeOption) 通过指定的导航属性并使用指定的合并选项,显式加载与提供的对象相关的对象。
公共方法 LoadProperty<TEntity>(TEntity, Expression<Func<TEntity, Object>>) 通过指定的 LINQ 查询并使用默认合并选项,显式加载与提供的对象相关的对象。
公共方法 LoadProperty<TEntity>(TEntity, Expression<Func<TEntity, Object>>, MergeOption) 通过指定的 LINQ 查询并使用指定的合并选项,显式加载与提供的对象相关的对象。
受保护的方法 MemberwiseClone (继承自 Object。)
公共方法 Refresh(RefreshMode, IEnumerable) 使用数据库中的数据更新对象上下文中的对象集合。
公共方法 Refresh(RefreshMode, Object) 使用数据库中的数据更新对象上下文中的对象。
公共方法 RefreshAsync(RefreshMode, IEnumerable) 使用数据库中的数据异步更新对象上下文中的对象集合。
公共方法 RefreshAsync(RefreshMode, Object) 使用数据库中的数据异步更新对象上下文中的对象。
公共方法 RefreshAsync(RefreshMode, IEnumerable, CancellationToken) 使用数据库中的数据异步更新对象上下文中的对象集合。
公共方法 RefreshAsync(RefreshMode, Object, CancellationToken) 使用数据库中的数据异步更新对象上下文中的对象。
公共方法 SaveChanges() 将所有更新保存到数据库并重置对象上下文中的更改跟踪。
公共方法 SaveChanges(Boolean) 已过时。 将所有更新保存到数据库并可选择重置对象上下文中的更改跟踪。
公共方法 SaveChanges(SaveOptions) 将所有更新保存到数据库并可选择重置对象上下文中的更改跟踪。
公共方法 SaveChangesAsync() 将所有更新异步保存到数据库并重置对象上下文中的更改跟踪。
公共方法 SaveChangesAsync(CancellationToken) 将所有更新异步保存到数据库并重置对象上下文中的更改跟踪。
公共方法 SaveChangesAsync(SaveOptions) 将所有更新异步保存到数据库并可选择重置对象上下文中的更改跟踪。
公共方法 SaveChangesAsync(SaveOptions, CancellationToken) 将所有更新异步保存到数据库并可选择重置对象上下文中的更改跟踪。
公共方法 ToString (继承自 Object。)
公共方法 Translate<TElement>(DbDataReader) 将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。
公共方法 Translate<TEntity>(DbDataReader, String, MergeOption) 在特定的实体集中,使用指定的合并选项将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。
公共方法 TryGetObjectByKey 返回具有指定实体键的对象。

顶部

事件

  名称 描述
公共事件 ObjectMaterialized 当使用数据源中的数据创建新的实体对象(作为查询或加载操作的一部分)时发生。
公共事件 SavingChanges 在将更改保存到数据源时发生。

顶部

显式接口实现  

  名称 描述
显式接口实现私有属性 IObjectContextAdapter.ObjectContext 返回自身。ObjectContext 实现 IObjectContextAdapter 以便为 DbContext 和 ObjectContext(这两者将返回基础 ObjectContext)提供通用接口。

顶部

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity.Core.Objects 命名空间