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) |
Инициализирует новый экземпляр класса ObjectContext с данным соединением. Во время построения рабочая область метаданных извлекается из объекта EntityConnection. |
ObjectContext(EntityConnection, String) |
Инициализирует новый экземпляр класса ObjectContext с данным соединением и именем контейнера сущностей. |
ObjectContext(String) |
Инициализирует новый экземпляр класса ObjectContext с данной строкой соединения и именем контейнера сущностей. |
ObjectContext(String, 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) |
Явным образом загружает объект, связанный с предоставленным объектом, посредством заданного свойства навигации и параметра слияния по умолчанию. |
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 |
Возникает при сохранении изменений в источнике данных. |