ObjectContext 类

定义

提供以对象形式查询和使用实体数据的功能。

public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
    interface IDisposable
Public Class ObjectContext
Implements IDisposable
继承
ObjectContext
实现

示例

此示例演示如何构造 ObjectContext

// Create the ObjectContext.
ObjectContext context =
    new ObjectContext("name=AdventureWorksEntities");

// Set the DefaultContainerName for the ObjectContext.
// When DefaultContainerName is set, the Entity Framework only
// searches for the type in the specified container.
// Note that if a type is defined only once in the metadata workspace
// you do not have to set the DefaultContainerName.
context.DefaultContainerName = "AdventureWorksEntities";

ObjectSet<Product> query = context.CreateObjectSet<Product>();

// Iterate through the collection of Products.
foreach (Product result in query)
    Console.WriteLine("Product Name: {0}", result.Name);

注解

注意

ObjectContext 类不是线程安全的。 在多线程方案中,无法确保 中 ObjectContext 数据对象的完整性。

ObjectContext 是用于将数据作为对象进行交互的主要类,这些对象是概念模型中定义的实体类型的实例。 ObjectContext 类的实例包装以下内容:

当表示概念模型的对象层由实体数据模型工具生成时,表示 EntityContainer 模型的 类派生自 ObjectContext

构造函数

ObjectContext(EntityConnection)

使用给定的连接初始化 ObjectContext 类的新实例。 在构造过程中,从 EntityConnection 对象提取元数据工作区。

ObjectContext(EntityConnection, String)

使用给定连接和实体容器名称初始化 ObjectContext 类的新实例。

ObjectContext(String)

使用给定连接字符串和默认实体容器名称初始化 ObjectContext 类的新实例。

ObjectContext(String, String)

使用给定连接字符串和实体容器名称初始化 ObjectContext 类的新实例。

属性

CommandTimeout

获取或设置所有对象上下文操作的超时值(以秒为单位)。 null 值表示将使用基础提供程序的默认值。

Connection

获取对象上下文使用的连接。

ContextOptions

获取 ObjectContextOptions 实例,该实例包含影响 ObjectContext 的行为的选项。

DefaultContainerName

获取或设置默认容器名称。

MetadataWorkspace

获取对象上下文使用的元数据工作区。

ObjectStateManager

获取对象上下文用于跟踪对象更改的对象状态管理器。

QueryProvider

获取与此对象上下文关联的 LINQ 查询提供程序。

方法

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()

检查在当前数据源连接中指定为数据库的数据库是否在数据源上存在。

DeleteDatabase()

删除在当前数据源连接中指定为数据库的数据库。

DeleteObject(Object)

标记对象以备删除。

Detach(Object)

从对象上下文移除对象。

DetectChanges()

确保 ObjectStateEntry 更改与由 ObjectStateManager 跟踪的所有对象中的更改进行同步。

Dispose()

释放对象上下文使用的资源。

Dispose(Boolean)

释放对象上下文使用的资源。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
ExecuteFunction(String, ObjectParameter[])

执行在数据源中定义并在概念模型中表示的存储过程或函数,丢弃该函数返回的任何结果,并返回执行该函数影响的行数。

ExecuteFunction<TElement>(String, MergeOption, ObjectParameter[])

使用指定的参数和合并选项,执行在数据源中定义并在概念模型中表示的给定存储过程或函数。 返回类型化的 ObjectResult<T>

ExecuteFunction<TElement>(String, ObjectParameter[])

使用指定的参数,执行在数据源中定义并在概念模型中映射的存储过程或函数。 返回类型化的 ObjectResult<T>

ExecuteStoreCommand(String, Object[])

利用现有连接对数据源直接执行任意命令。

ExecuteStoreQuery<TElement>(String, Object[])

对数据源直接执行查询,此查询将返回类型化结果的序列。

ExecuteStoreQuery<TEntity>(String, String, MergeOption, Object[])

对数据源直接执行查询,此查询将返回类型化结果的序列。 指定实体集和合并选项,以便能够将查询结果作为实体进行跟踪。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetKnownProxyTypes()

返回所有现有代理类型。

GetObjectByKey(EntityKey)

返回具有指定实体键的对象。

GetObjectType(Type)

返回与指定类型的代理对象关联的 POCO 实体的实体类型。

GetType()

获取当前实例的 Type

(继承自 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 的浅表副本。

(继承自 Object)
Refresh(RefreshMode, IEnumerable)

使用数据源中的数据更新对象上下文中的对象集合。

Refresh(RefreshMode, Object)

使用数据源中的数据更新对象上下文中的对象。

SaveChanges()

将所有更新保存到数据源并重置对象上下文中的更改跟踪。

SaveChanges(Boolean)
已过时.

将所有更新保存到数据源并可选择重置对象上下文中的更改跟踪。

SaveChanges(SaveOptions)

使用指定的 SaveOptions 将所有更新保存到数据源。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
Translate<TElement>(DbDataReader)

将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。

Translate<TEntity>(DbDataReader, String, MergeOption)

在特定的实体集中,使用指定的合并选项将包含实体数据行的 DbDataReader 转换为请求的实体类型的对象。

TryGetObjectByKey(EntityKey, Object)

返回具有指定实体键的对象。

事件

ObjectMaterialized

当使用数据源中的数据创建新的实体对象(作为查询或加载操作的一部分)时发生。

SavingChanges

在将更改保存到数据源时发生。

适用于

另请参阅