Поделиться через


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

Возвращает или задает значение времени ожидания (в секундах) для всех операций контекста объекта. Значение 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

Возникает при сохранении изменений в источнике данных.

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

См. также раздел