通过


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, String)

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

ObjectContext(EntityConnection)

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

ObjectContext(String, String)

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

ObjectContext(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, MergeOption)

通过指定的导航属性并使用指定的合并选项显式加载与所提供的对象相关的对象。

LoadProperty(Object, String)

通过指定的导航属性并使用默认合并选项显式加载与提供的对象相关的对象。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>, MergeOption)

显式加载与指定 LINQ 查询提供的对象相关的对象,并使用指定的合并选项。

LoadProperty<TEntity>(TEntity, Expression<Func<TEntity,Object>>)

显式加载与指定 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

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

适用于

另请参阅