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 класса инкапсулирует следующее:
Подключение к базе данных в виде EntityConnection объекта.
Метаданные, описывающие модель в виде MetadataWorkspace объекта.
Объект ObjectStateManager , который управляет объектами, сохраненными в кэше.
Когда уровень объектов, представляющий концептуальную модель, создается средствами модели данных сущности, класс, представляющий EntityContainer модель для модели, является производным от ObjectContext.
Конструкторы
| Имя | Описание |
|---|---|
| ObjectContext(EntityConnection, String) |
Инициализирует новый экземпляр ObjectContext класса с заданным именем подключения и контейнера сущностей. |
| ObjectContext(EntityConnection) |
Инициализирует новый экземпляр ObjectContext класса с заданным подключением. Во время строительства рабочая область метаданных извлекается из EntityConnection объекта. |
| ObjectContext(String, String) |
Инициализирует новый экземпляр класса ObjectContext с заданным именем строка подключения и контейнера сущностей. |
| ObjectContext(String) |
Инициализирует новый экземпляр класса ObjectContext с указанным строка подключения и именем контейнера сущностей по умолчанию. |
Свойства
| Имя | Описание |
|---|---|
| CommandTimeout |
Возвращает или задает значение времени ожидания (в секундах) для всех операций контекста объекта. Значение |
| 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 |
Происходит при сохранении изменений в источнике данных. |