Бөлісу құралы:


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

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

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

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

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