ObjectContext 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
ObjectContext 是封装 CLR 与数据库之间的连接的顶级对象,充当创建、读取、更新和删除操作的网关。
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
public class ObjectContext : IDisposable, System.Data.Entity.Infrastructure.IObjectContextAdapter
type ObjectContext = class
interface IDisposable
interface IObjectContextAdapter
Public Class ObjectContext
Implements IDisposable, IObjectContextAdapter
- 继承
-
ObjectContext
- 属性
- 实现
构造函数
ObjectContext(EntityConnection) |
使用给定的连接初始化 ObjectContext 类的新实例。 在构造过程中,从 EntityConnection 对象提取元数据工作区。 |
ObjectContext(EntityConnection, Boolean) |
使用给定的连接和元数据工作区创建 ObjectContext。 |
ObjectContext(EntityConnection, String) |
使用给定连接和实体容器名称初始化 ObjectContext 类的新实例。 |
ObjectContext(String) |
使用给定连接字符串和默认实体容器名称初始化 ObjectContext 类的新实例。 |
ObjectContext(String, String) |
使用给定连接字符串和实体容器名称初始化 ObjectContext 类的新实例。 |
属性
CommandTimeout |
获取或设置所有对象上下文操作的超时值(以秒为单位)。 null 值指示将使用基础提供程序的默认值。 |
Connection |
获取对象上下文使用的连接。 |
ContextOptions |
获取实例, ObjectContextOptions 该实例包含影响 的行为 ObjectContext 的选项。 |
DefaultContainerName |
获取或设置默认容器名称。 |
InterceptionContext |
返回 DbInterceptionContext 用于此上下文的 。 |
MetadataWorkspace |
获取对象上下文使用的元数据工作区。 |
ObjectStateManager |
获取对象上下文用于跟踪对象更改的对象状态管理器。 |
QueryProvider |
获取与此对象上下文关联的 LINQ 查询提供程序。 |
TransactionHandler |
获取此上下文正在使用的事务处理程序。 如果未启动事务,则可能为 null。 |
方法
AcceptAllChanges() |
接受在对象上下文中对对象所做的所有更改。 |
AddObject(String, Object) |
将对象添加到对象上下文。 |
ApplyCurrentValues<TEntity>(String, TEntity) |
将标量值从提供的对象复制到 ObjectContext 中具有相同键的对象中。 |
ApplyOriginalValues<TEntity>(String, TEntity) |
将标量值从提供的对象复制到 ObjectContext 中具有相同键的对象的原始值集中。 |
ApplyPropertyChanges(String, Object) |
已过时.
将已分离对象的属性更改应用于已附加到对象上下文的对象。 |
Attach(IEntityWithKey) |
在对象具有实体键时将对象或对象图附加到对象上下文。 |
AttachTo(String, Object) |
将特定实体集中的对象或对象图附加到对象上下文。 |
CreateDatabase() |
使用当前数据源连接和 中的 StoreItemCollection 元数据创建数据库。 |
CreateDatabaseScript() |
(DDL) 脚本生成数据定义语言,该脚本为 中的 StoreItemCollection 元数据创建架构对象 (表、主键、外键) 。 StoreItemCollection 用于加载存储架构定义语言 (SSDL) 文件中的元数据。 |
CreateEntityKey(String, Object) |
为特定对象创建实体键,如果实体键已存在,则返回该键。 |
CreateObject<T>() |
创建并返回所请求类型的实例。 |
CreateObjectSet<TEntity>() |
创建新的 ObjectSet<TEntity> 实例,该实例用于查询、添加、修改和删除指定实体类型的对象。 |
CreateObjectSet<TEntity>(String) |
创建新的 ObjectSet<TEntity> 实例,该实例用于查询、添加、修改和删除具有指定类型和指定实体集名称的对象。 |
CreateProxyTypes(IEnumerable<Type>) |
为提供的枚举中的每个类型生成可用于 Entity Framework 的等效类型。 |
CreateQuery<T>(String, ObjectParameter[]) |
使用指定查询字符串在当前对象上下文中创建 ObjectQuery<T>。 |
DatabaseExists() |
检查存储区上是否存在指定为当前存储连接中数据库的数据库。 大部分实际工作由 DbProviderServices 实现为当前存储连接完成。 |
DeleteDatabase() |
删除在当前数据源连接中指定为数据库的数据库。 |
DeleteObject(Object) |
标记对象以备删除。 |
Detach(Object) |
从对象上下文移除对象。 |
DetectChanges() |
确保 ObjectStateEntry 更改与 由 ObjectStateManager 跟踪的所有 对象中的更改同步。 |
Dispose() |
释放对象上下文使用的资源。 |
Dispose(Boolean) |
释放对象上下文使用的资源。 |
ExecuteFunction(String, ObjectParameter[]) |
执行在数据源中定义并在概念模型中表示的存储过程或函数,丢弃该函数返回的任何结果,并返回执行该函数影响的行数。 |
ExecuteFunction<TElement>(String, ExecutionOptions, ObjectParameter[]) |
在默认容器上执行给定函数。 |
ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[]) |
使用指定的参数和合并选项,执行在数据源中定义并在概念模型中表示的给定存储过程或函数。 返回类型化 ObjectResult<T> 。 |
ExecuteFunction<TElement>(String, ObjectParameter[]) |
使用指定的参数,执行在数据源中定义并在概念模型中映射的存储过程或函数。 返回类型化 ObjectResult<T> 。 |
ExecuteStoreCommand(String, Object[]) |
利用现有连接对数据源直接执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommand (“UPDATE dbo.帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommand (“UPDATE dbo.文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreCommand(TransactionalBehavior, String, Object[]) |
利用现有连接对数据源直接执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommand (“UPDATE dbo.帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommand (“UPDATE dbo.文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreCommandAsync(String, CancellationToken, Object[]) |
使用现有连接直接对数据源异步执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreCommandAsync(String, Object[]) |
使用现有连接直接对数据源异步执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreCommandAsync(TransactionalBehavior, String, CancellationToken, Object[]) |
使用现有连接直接对数据源异步执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreCommandAsync(TransactionalBehavior, String, Object[]) |
使用现有连接直接对数据源异步执行任意命令。 命令是使用服务器的本机查询语言(如 SQL)指定的。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。帖子 SET Rating = 5 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreCommandAsync (“UPDATE dbo”。文章 SET Rating = 5 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQuery<TElement>(String, ExecutionOptions, Object[]) |
对数据源直接执行查询,此查询将返回类型化结果的序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数位置持有者,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo.文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo.文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQuery<TElement>(String, Object[]) |
对数据源直接执行查询,此查询将返回类型化结果的序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQuery<TElement>(String, String, ExecutionOptions, Object[]) |
对数据源直接执行查询,此查询将返回类型化结果的序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 如果指定了实体集名称,则上下文将跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQuery<TElement>(String, String, MergeOption, Object[]) |
对数据源直接执行查询,此查询将返回类型化结果的序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 如果指定了实体集名称,则上下文将跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQuery<Post> (“SELECT * FROM dbo”。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, CancellationToken, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, CancellationToken, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, ExecutionOptions, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 上下文不跟踪结果,请使用指定实体集名称的重载来跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, CancellationToken, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 如果指定了实体集名称,则上下文将跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
ExecuteStoreQueryAsync<TElement>(String, String, ExecutionOptions, Object[]) |
直接对数据源异步执行查询,并返回类型化结果序列。 查询是使用服务器的本机查询语言(如 SQL)指定的。 如果指定了实体集名称,则上下文将跟踪结果。 与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @p0“, userSuppliedAuthor) ;或者,还可以构造 DbParameter 并将其提供给 SqlQuery。 这样可以在 SQL 查询字符串中使用命名参数。 上下文。ExecuteStoreQueryAsync<Post> (“SELECT * FROM dbo。文章 WHERE Author = @author“, new SqlParameter (”@author“, userSuppliedAuthor) ) ; |
Finalize() |
完成 类的 ObjectContext 实例。 |
GetKnownProxyTypes() |
返回所有现有代理类型。 |
GetObjectByKey(EntityKey) |
返回具有指定实体键的对象。 |
GetObjectType(Type) |
返回与指定类型的代理对象关联的 POCO 实体的实体类型。 |
LoadProperty(Object, String) |
通过指定的导航属性并使用默认合并选项,显式加载与提供的对象相关的对象。 |
LoadProperty(Object, String, MergeOption) |
通过指定的导航属性并使用指定的合并选项,显式加载与提供的对象相关的对象。 |
LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>) |
通过指定的 LINQ 查询并使用默认合并选项,显式加载与提供的对象相关的对象。 |
LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption) |
通过指定的 LINQ 查询并使用指定的合并选项,显式加载与提供的对象相关的对象。 |
Refresh(RefreshMode, IEnumerable) |
使用数据库中的数据汇报对象上下文中的对象集合。 |
Refresh(RefreshMode, Object) |
使用数据库中的数据在对象上下文中汇报对象。 |
RefreshAsync(RefreshMode, IEnumerable) |
使用数据库中的数据异步更新对象上下文中的对象集合。 |
RefreshAsync(RefreshMode, IEnumerable, CancellationToken) |
使用数据库中的数据异步更新对象上下文中的对象集合。 |
RefreshAsync(RefreshMode, Object) |
使用数据库中的数据异步更新对象上下文中的对象。 |
RefreshAsync(RefreshMode, Object, CancellationToken) |
使用数据库中的数据异步更新对象上下文中的对象。 |
SaveChanges() |
保留数据库的所有更新,并重置对象上下文中的更改跟踪。 |
SaveChanges(Boolean) |
已过时.
保留数据库的所有更新,并选择性地重置对象上下文中的更改跟踪。 |
SaveChanges(SaveOptions) |
保留数据库的所有更新,并选择性地重置对象上下文中的更改跟踪。 |
SaveChangesAsync() |
异步保留数据库的所有更新,并在对象上下文中重置更改跟踪。 |
SaveChangesAsync(CancellationToken) |
异步保留数据库的所有更新,并在对象上下文中重置更改跟踪。 |
SaveChangesAsync(SaveOptions) |
异步保留数据库的所有更新,并选择性地重置对象上下文中的更改跟踪。 |
SaveChangesAsync(SaveOptions, CancellationToken) |
异步保留数据库的所有更新,并选择性地重置对象上下文中的更改跟踪。 |
Translate<TElement>(DbDataReader) |
将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。 |
Translate<TEntity>(DbDataReader, String, MergeOption) |
在特定的实体集中,使用指定的合并选项将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。 |
TryGetObjectByKey(EntityKey, Object) |
返回具有指定实体键的对象。 |
事件
ObjectMaterialized |
当使用数据源中的数据创建新的实体对象(作为查询或加载操作的一部分)时发生。 |
SavingChanges |
在将更改保存到数据源时发生。 |
显式接口实现
IObjectContextAdapter.ObjectContext |
返回自身。 ObjectContext 实现 IObjectContextAdapter 为 和 ObjectContext 提供一个通用接口 DbContext ,这将返回基础 ObjectContext。 |