ObjectContext Класс

Определение

Обеспечивает средства обработки запросов и работы с данными сущности как с объектами.Provides facilities for querying and working with entity data as objects.

public ref class ObjectContext : IDisposable
public class ObjectContext : IDisposable
type ObjectContext = class
    interface IDisposable
Public Class ObjectContext
Implements IDisposable
Наследование
ObjectContext
Реализации

Примеры

Этот пример основан на модели AdventureWorks Sales.This example is based on the AdventureWorks Sales Model. В этом примере показано создание объекта ObjectContext.The example shows you how to construct an 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);
' Create the ObjectContext. 
Dim context As 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"

Dim query As ObjectSet(Of Product) = context.CreateObjectSet(Of Product)()

' Iterate through the collection of Products. 
For Each result As Product In query
    Console.WriteLine("Product Name: {0}", result.Name)
Next

Комментарии

Примечание

Класс ObjectContext не является потокобезопасным.The ObjectContext class is not thread safe. Целостность объектов данных в ObjectContext не может быть обеспечена в многопоточных сценариях.The integrity of data objects in an ObjectContext cannot be ensured in multithreaded scenarios.

ObjectContext Класс является основным классом для взаимодействия с данными в виде объектов, являющихся экземплярами типов сущностей, которые определены в концептуальной модели.The ObjectContext class is the primary class for interacting with data as objects that are instances of entity types that are defined in a conceptual model. Экземпляр класса ObjectContext инкапсулирует следующее:An instance of the ObjectContext class encapsulates the following:

  • Соединение с базой данных в форме объекта EntityConnection.A connection to the database, in the form of an EntityConnection object.

  • Метаданные, описывающие модель, в форме объекта MetadataWorkspace.Metadata that describes the model, in the form of a MetadataWorkspace object.

  • Объект ObjectStateManager, который управляет объектами, сохраненными в кэше.An ObjectStateManager object that manages objects persisted in the cache.

Если уровень объектов, представляющий концептуальную модель, создается EDM инструментами, класс, представляющий объект EntityContainer для модели, является производным ObjectContextот класса.When the object layer that represents a conceptual model is generated by the Entity Data Model tools, the class that represents the EntityContainer for the model is derived from the ObjectContext.

Конструкторы

ObjectContext(EntityConnection)

Инициализирует новый экземпляр класса ObjectContext с заданным подключением.Initializes a new instance of the ObjectContext class with the given connection. Во время построения рабочая область метаданных извлекается из объекта EntityConnection.During construction, the metadata workspace is extracted from the EntityConnection object.

ObjectContext(EntityConnection, String)

Инициализирует новый экземпляр класса ObjectContext с заданным подключением и именем контейнера сущностей.Initializes a new instance of the ObjectContext class with a given connection and entity container name.

ObjectContext(String)

Инициализирует новый экземпляр класса ObjectContext с заданной строкой подключения и именем контейнера сущностей по умолчанию.Initializes a new instance of the ObjectContext class with the given connection string and default entity container name.

ObjectContext(String, String)

Инициализирует новый экземпляр класса ObjectContext с заданной строкой подключения и именем контейнера сущностей.Initializes a new instance of the ObjectContext class with a given connection string and entity container name.

Свойства

CommandTimeout

Получает или задает значение времени ожидания (в секундах) для всех операций контекста объекта.Gets or sets the timeout value, in seconds, for all object context operations. Значение null указывает, что будет использоваться значение базового поставщика по умолчанию.A null value indicates that the default value of the underlying provider will be used.

Connection

Получает подключение, используемое контекстом объекта.Gets the connection used by the object context.

ContextOptions

Получает экземпляр ObjectContextOptions, содержащий параметры, которые воздействуют на поведение ObjectContext.Gets the ObjectContextOptions instance that contains options that affect the behavior of the ObjectContext.

DefaultContainerName

Возвращает или задает имя контейнера по умолчанию.Gets or sets the default container name.

MetadataWorkspace

Получает рабочую область метаданных, используемую контекстом объекта.Gets the metadata workspace used by the object context.

ObjectStateManager

Получает диспетчер состояния объекта, используемый контекстом объекта для отслеживания изменений объекта.Gets the object state manager used by the object context to track object changes.

QueryProvider

Получает поставщик запроса LINQ, связанного с контекстом данного объекта.Gets the LINQ query provider associated with this object context.

Методы

AcceptAllChanges()

Принимает все изменения, внесенные в объекты в данном контексте объекта.Accepts all changes made to objects in the object context.

AddObject(String, Object)

Добавляет объект в контекст объекта.Adds an object to the object context.

ApplyCurrentValues<TEntity>(String, TEntity)

Копирует скалярные значения из указанного объекта в объект в контексте ObjectContext, содержащем тот же ключ.Copies the scalar values from the supplied object into the object in the ObjectContext that has the same key.

ApplyOriginalValues<TEntity>(String, TEntity)

Копирует скалярные значения из указанного объекта в набор исходных значений для объекта в контексте ObjectContext, содержащем тот же ключ.Copies the scalar values from the supplied object into set of original values for the object in the ObjectContext that has the same key.

ApplyPropertyChanges(String, Object)

Применяет изменения свойств из отсоединенного объекта к объекту, который уже был присоединен к контексту объекта.Applies property changes from a detached object to an object already attached to the object context.

Attach(IEntityWithKey)

Присоединяет объект или граф объекта к контексту объекта, если объект имеет ключ сущности.Attaches an object or object graph to the object context when the object has an entity key.

AttachTo(String, Object)

Присоединяет объект или граф объекта к контексту объекта в конкретном наборе сущностей.Attaches an object or object graph to the object context in a specific entity set.

CreateDatabase()

Создает базу данных, используя текущее подключение к источнику данных и метаданные в коллекции StoreItemCollection.Creates the database by using the current data source connection and the metadata in the StoreItemCollection.

CreateDatabaseScript()

Формирует DDL-скрипт, создающий объекты схемы (таблицы, первичные ключи, внешние ключи) для метаданных в коллекции StoreItemCollection.Generates a data definition language (DDL) script that creates schema objects (tables, primary keys, foreign keys) for the metadata in the StoreItemCollection. Класс StoreItemCollection загружает метаданные из SSDL-файлов.The StoreItemCollection loads metadata from store schema definition language (SSDL) files.

CreateEntityKey(String, Object)

Создает ключ сущности для определенного объекта или возвращает ключ сущности, если тот уже существует.Creates the entity key for a specific object, or returns the entity key if it already exists.

CreateObject<T>()

Создает и возвращает экземпляр запрашиваемого типа.Creates and returns an instance of the requested type .

CreateObjectSet<TEntity>()

Создает новый экземпляр ObjectSet<TEntity>, используемый для запроса, добавления, изменения и удаления объектов указанного типа сущности.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified entity type.

CreateObjectSet<TEntity>(String)

Создает новый экземпляр ObjectSet<TEntity>, используемый для запроса, добавления, изменения и удаления объектов указанного типа с заданным именем набора сущностей.Creates a new ObjectSet<TEntity> instance that is used to query, add, modify, and delete objects of the specified type and with the specified entity set name.

CreateProxyTypes(IEnumerable<Type>)

Создает эквивалентный тип, который можно использовать с Entity Framework для каждого типа в предоставленном перечислении.Generates an equivalent type that can be used with the Entity Framework for each type in the supplied enumeration.

CreateQuery<T>(String, ObjectParameter[])

Создает объект ObjectQuery<T> в текущем контексте объекта с помощью указанной строки запроса.Creates an ObjectQuery<T> in the current object context by using the specified query string.

DatabaseExists()

Проверяет, существует ли в источнике данных база данных, указанная в качестве базы данных в текущем подключении к источнику данных.Checks if the database that is specified as the database in the current data source connection exists on the data source.

DeleteDatabase()

Удаляет базу данных, указанную в качестве базы данных в текущем подключении к источнику данных.Deletes the database that is specified as the database in the current data source connection.

DeleteObject(Object)

Помечает объект для удаления.Marks an object for deletion.

Detach(Object)

Удаляет объект из контекста объекта.Removes the object from the object context.

DetectChanges()

Обеспечивает синхронизацию изменений объекта ObjectStateEntry с изменениями во всех объектах, отслеживаемых посредством объекта ObjectStateManager.Ensures that ObjectStateEntry changes are synchronized with changes in all objects that are tracked by the ObjectStateManager.

Dispose()

Освобождает ресурсы, используемые контекстом объекта.Releases the resources used by the object context.

Dispose(Boolean)

Освобождает ресурсы, используемые контекстом объекта.Releases the resources used by the object context.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
ExecuteFunction(String, ObjectParameter[])

Выполняет хранимую процедуру или функцию, определенную в источнике данных и выраженную в концептуальной модели; отменяет любые результаты, возвращенные функцией; возвращает количество строк, обработанных при выполнении команды.Executes a stored procedure or function that is defined in the data source and expressed in the conceptual model; discards any results returned from the function; and returns the number of rows affected by the execution.

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

Выполняет данную хранимую процедуру или функцию, определенную в источнике данных и выраженную в концептуальной модели (с применением указанных параметров и команды слияния).Executes the given stored procedure or function that is defined in the data source and expressed in the conceptual model, with the specified parameters, and merge option. Возвращает типизированный объект ObjectResult<T>.Returns a typed ObjectResult<T>.

ExecuteFunction<TElement>(String, ObjectParameter[])

Выполняет хранимую процедуру или функцию, определенную в источнике данных и сопоставленную в концептуальной модели (с применением указанных параметров).Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Возвращает типизированный объект ObjectResult<T>.Returns a typed ObjectResult<T>.

ExecuteStoreCommand(String, Object[])

Выполняет произвольную команду непосредственно в отношении источника данных с помощью существующего подключения.Executes an arbitrary command directly against the data source using the existing connection.

ExecuteStoreQuery<TElement>(String, Object[])

Выполняет запрос непосредственно в отношении источника данных, возвращающего последовательность типизированных результатов.Executes a query directly against the data source that returns a sequence of typed results.

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

Выполняет запрос непосредственно в отношении источника данных и возвращает последовательность типизированных результатов.Executes a query directly against the data source and returns a sequence of typed results. Укажите набор сущностей и параметр слияния, посредством которых результаты запроса можно будет отслеживать в качестве сущностей.Specify the entity set and the merge option so that query results can be tracked as entities.

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetKnownProxyTypes()

Возвращает все существующие типы прокси.Returns all the existing proxy types.

GetObjectByKey(EntityKey)

Возвращает объект, имеющий указанный ключ сущности.Returns an object that has the specified entity key.

GetObjectType(Type)

Возвращает тип сущности POCO, связанной с прокси-объектом заданного типа.Returns the entity type of the POCO entity associated with a proxy object of a specified type.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
LoadProperty(Object, String)

Явным образом загружает объект, связанный с предоставленным объектом, посредством заданного свойства навигации и параметра слияния по умолчанию.Explicitly loads an object related to the supplied object by the specified navigation property and using the default merge option.

LoadProperty(Object, String, MergeOption)

Явным образом загружает объект, связанный с предоставленным объектом, посредством заданного свойства навигации и указанного параметра слияния.Explicitly loads an object that is related to the supplied object by the specified navigation property and using the specified merge option.

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

Явным образом загружает объект, связанный с предоставленным объектом, посредством заданного запроса LINQ и параметра слияния по умолчанию.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the default merge option.

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

Явным образом загружает объект, связанный с предоставленным объектом, посредством заданного запроса LINQ и указанного параметра слияния.Explicitly loads an object that is related to the supplied object by the specified LINQ query and by using the specified merge option.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
Refresh(RefreshMode, IEnumerable)

Обновляет коллекцию объектов в контексте объекта, используя данные из источника данных.Updates a collection of objects in the object context with data from the data source.

Refresh(RefreshMode, Object)

Обновляет какой-либо объект в контексте объекта, используя данные из источника данных.Updates an object in the object context with data from the data source.

SaveChanges()

Сохраняет все обновления в источнике данных и сбрасывает отслеживание изменений в контексте объекта.Persists all updates to the data source and resets change tracking in the object context.

SaveChanges(Boolean)

Сохраняет все обновления в источнике данных и при необходимости сбрасывает отслеживание изменений в контексте объекта.Persists all updates to the data source and optionally resets change tracking in the object context.

SaveChanges(SaveOptions)

Сохраняет все обновления в источнике данных, используя указанные параметры SaveOptions.Persists all updates to the data source with the specified SaveOptions.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
Translate<TElement>(DbDataReader)

Преобразует объект DbDataReader, содержащий строки данных сущности, в объекты запрошенного типа сущности.Translates a DbDataReader that contains rows of entity data to objects of the requested entity type.

Translate<TEntity>(DbDataReader, String, MergeOption)

Преобразует объект DbDataReader, содержащий строки данных сущности, в объекты запрошенного типа сущности (в определенном наборе сущностей и с применением указанного параметра слияния).Translates a DbDataReader that contains rows of entity data to objects of the requested entity type, in a specific entity set, and with the specified merge option.

TryGetObjectByKey(EntityKey, Object)

Возвращает объект, имеющий указанный ключ сущности.Returns an object that has the specified entity key.

События

ObjectMaterialized

Возникает при создании нового объекта сущности на основании данных в источнике данных в составе операции загрузки или запроса.Occurs when a new entity object is created from data in the data source as part of a query or load operation.

SavingChanges

Возникает при сохранении изменений в источнике данных.Occurs when changes are saved to the data source.

Применяется к

Дополнительно