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


System.Data.Entity.Infrastructure Пространство имен

Классы

CommitFailedException

Возникает при возникновении ошибки при фиксации DbTransaction.

CommitFailureHandler

Обработчик транзакций, который позволяет корректно восстанавливаться после сбоев подключения во время фиксации транзакции, сохраняя сведения трассировки транзакций в базе данных. Его необходимо зарегистрировать с помощью SetDefaultTransactionHandler(Func<TransactionHandler>).

DbChangeTracker

Возвращается методом ChangeTracker для предоставления DbContext доступа к функциям контекста, связанным с отслеживанием изменений сущностей.

DbCollectionEntry

Неуниверсивная версия DbCollectionEntry<TEntity,TElement> класса .

DbCollectionEntry<TEntity,TElement>

Экземпляры этого класса возвращаются из метода DbEntityEntry<TEntity> Collection класса и разрешают выполнение таких операций, как загрузка свойств навигации по коллекции сущности.

DbCompiledModel

Неизменяемое представление модели EDM, которое можно использовать для создания ObjectContext или может быть передано конструктору DbContextобъекта . Для повышения производительности экземпляры этого типа должны кэшироваться и повторно использоваться при создании контекстов.

DbComplexPropertyEntry

Неуниверсивная версия DbComplexPropertyEntry<TEntity,TComplexProperty> класса .

DbComplexPropertyEntry<TEntity,TComplexProperty>

Экземпляры этого класса возвращаются из метода DbEntityEntry<TEntity> ComplexProperty и разрешают доступ к состоянию сложного свойства.

DbConnectionInfo

Представляет сведения о подключении к базе данных.

DbContextConfiguration

Возвращается методом Configuration для предоставления DbContext доступа к параметрам конфигурации для контекста.

DbContextInfo

Предоставляет сведения о среде выполнения для заданного DbContext типа.

DbEntityEntry

Неуниверсивная версия DbEntityEntry<TEntity> класса .

DbEntityEntry<TEntity>

Экземпляры этого класса предоставляют доступ к сведениям о сущностях, отслеживаемых с помощью , и управлению DbContextими. Используйте методы Entity или Entities контекста для получения объектов этого типа.

DbExecutionStrategy

Предоставляет базовую реализацию механизма повтора для ненадежных операций и временных условий, в которых используются экспоненциально увеличивающиеся задержки между повторными попытками.

DbMemberEntry

Это абстрактный базовый класс, используемый для представления скалярного или сложного свойства либо свойства навигации у сущности. Скалярные и сложные свойства используют производный класс DbPropertyEntry, свойства навигации ссылок используют производный класс DbReferenceEntry, а свойства навигации коллекции используют производный класс DbCollectionEntry.

DbMemberEntry<TEntity,TProperty>

Это абстрактный базовый класс, используемый для представления скалярного или сложного свойства либо свойства навигации у сущности. Скалярные и сложные свойства используют производный класс DbPropertyEntry<TEntity,TProperty>, свойства навигации ссылок используют производный класс DbReferenceEntry<TEntity,TProperty>, а свойства навигации коллекции используют производный класс DbCollectionEntry<TEntity,TElement>.

DbModel

Представляет модель EDM, созданную DbModelBuilderобъектом . Метод Compile можно использовать для перехода от этого представления EDM к объекту DbCompiledModel , который является скомпилированным snapshot модели, подходящей для кэширования и создания DbContext экземпляров или ObjectContext .

DbModelStore

Базовый класс для сохраняемого кэша модели.

DbPropertyEntry

Неуниверсивная версия DbPropertyEntry<TEntity,TProperty> класса .

DbPropertyEntry<TEntity,TProperty>

Экземпляры этого класса возвращаются из метода DbEntityEntry<TEntity> Property класса и предоставляют доступ к состоянию скалярного или сложного свойства.

DbPropertyValues

Коллекция всех свойств базовой сущности или сложного объекта.

DbProviderInfo

Группирует пару строк, которые идентифицируют версию поставщика и сервера, в один объект.

DbQuery

Представляет неуниверсующий запрос LINQ to Entities к DbContext.

DbQuery<TResult>

Представляет запрос LINQ to Entities к DbContext.

DbRawSqlQuery

Представляет SQL-запрос для не-сущностей, который создается из DbContext и выполняется с использованием соединения из этого контекста. Экземпляры этого класса получаются из экземпляра Database . Запрос не выполняется при создании этого объекта. Он выполняется при каждом перечислении объекта, например при выполнении инструкции foreach. SQL-запросы для сущностей создаются с помощью SqlQuery(String, Object[]). Общую версию этого класса см DbRawSqlQuery<TElement> . в этой статье.

DbRawSqlQuery<TElement>

Представляет SQL-запрос для не-сущностей, который создается из DbContext и выполняется с использованием соединения из этого контекста. Экземпляры этого класса получаются из экземпляра Database . Запрос не выполняется при создании этого объекта; он выполняется при каждом перечислении, например с помощью foreach. SQL-запросы для сущностей создаются с помощью SqlQuery(String, Object[]). См DbRawSqlQuery . неуниверсивную версию этого класса.

DbReferenceEntry

Неуниверсивная версия DbReferenceEntry<TEntity,TProperty> класса .

DbReferenceEntry<TEntity,TProperty>

Экземпляры этого класса возвращаются из метода DbEntityEntry<TEntity> Reference класса и позволяют выполнять такие операции, как загрузка для ссылочных свойств навигации сущности.

DbSqlQuery

Представляет SQL-запрос для сущностей, созданных из DbContext и выполняемых с использованием соединения из этого контекста. Экземпляры этого класса извлекаются из экземпляра DbSet для типа сущности. Запрос не выполняется при создании этого объекта. Он выполняется при каждом перечислении объекта, например при выполнении инструкции foreach. SQL-запросы для не-сущностей создаются с помощью SqlQuery(Type, String, Object[]). Общую версию этого класса см DbSqlQuery<TEntity> . в этой статье.

DbSqlQuery<TEntity>

Представляет SQL-запрос для сущностей, созданных из DbContext и выполняемых с использованием соединения из этого контекста. Экземпляры этого класса извлекаются из экземпляра DbSet<TEntity> для типа сущности. Запрос не выполняется при создании этого объекта. Он выполняется при каждом перечислении объекта, например при выполнении инструкции foreach. SQL-запросы для не-сущностей создаются с помощью SqlQuery<TElement>(String, Object[]). См DbSqlQuery . неуниверсивную версию этого класса.

DbUpdateConcurrencyException

Исключение, вызванное DbContext , когда ожидалось, что SaveChanges для сущности приведет к обновлению базы данных, но на самом деле строки в базе данных не были затронуты. Обычно это означает, что база данных одновременно обновлялась таким образом, что маркер параллелизма, который должен был совпадать, на самом деле не совпадал. Обратите внимание, что записи состояния, на которые ссылается это исключение, не сериализуются из-за безопасности, а доступ к записям состояния после сериализации возвращает значение NULL.

DbUpdateException

Исключение возникает DbContext при сбое сохранения изменений в базе данных. Обратите внимание, что записи состояния, на которые ссылается это исключение, не сериализуются из-за безопасности, а доступ к записям состояния после сериализации возвращает значение NULL.

DefaultDbModelStore

Загружает или сохраняет модели из EDMX-файлов и в нее в указанном расположении.

DefaultExecutionStrategy

Объект IDbExecutionStrategy , который не повторяет операции в случае сбоя.

DefaultManifestTokenResolver

Реализация IManifestTokenResolver по умолчанию , использующая базовый поставщик для получения маркера манифеста. Обратите внимание, что во избежание нескольких запросов в этой реализации используется кэширование на основе фактического типа экземпляра DbConnectionDataSource , свойства и Database свойства .

EdmMetadata

Представляет сущность, используемую для хранения метаданных о модели EDM в базе данных.

EdmxReader

Служебный класс для чтения модели метаданных из .edmx.

EdmxWriter

Содержит методы, используемые для доступа к модели EDM, созданной механизмом Code First в форме EDMX. Эти методы обычно используются для отладки, если необходимо рассмотреть модель, созданную внутренне механизмом Code First.

ExecutionStrategyKey

Ключ, используемый Func<TResult>для разрешения . Он состоит из инвариантного имени поставщика ADO.NET и имени сервера базы данных, указанного в строке подключения.

IncludeMetadataConvention

Это DbModelBuilder соглашение приводит к тому, что DbModelBuilder будет включать метаданные о модели при ее сборке. При DbContext создании модели по соглашению это соглашение будет добавлено в список, используемых DbModelBuilder. Это приведет к записи метаданных модели в базу данных, если для создания базы данных используется DbContext. Затем его можно использовать в качестве быстрого проверка, чтобы узнать, изменилась ли модель с момента ее последнего использования в базе данных. Это соглашение можно удалить из соглашений DbModelBuilder , переопределив метод OnModelCreating в производном классе DbContext.

LocalDbConnectionFactory

Экземпляры этого класса используются для создания объектов DbConnection для SQL Server LocalDb на основе заданного имени базы данных или строки подключения.

ModelContainerConvention

Это DbModelBuilder соглашение использует имя производного DbContext класса в качестве контейнера для концептуальной модели, созданной Code First.

ModelNamespaceConvention

Это DbModelBuilder соглашение использует пространство имен производного DbContext класса в качестве пространства имен концептуальной модели, созданной Code First.

ObjectReferenceEqualityComparer

Сравнивает объекты с помощью равенства ссылок.

ReplacementDbQueryWrapper<TElement>

Экземпляры этого класса используются внутри для создания константных выражений для ObjectQuery<T> , которые вставляются в дерево выражений для замены ссылок на DbQuery<TResult> и DbQuery.

RetryLimitExceededException

Исключение, которое возникает при повторном сбое действия после повторного выполнения настроенных попыток.

SqlCeConnectionFactory

Экземпляры этого класса используются для создания объектов DbConnection для SQL Server Compact Edition на основе указанного имени базы данных или строки подключения.

SqlConnectionFactory

Экземпляры этого класса используются для создания объектов DbConnection для SQL Server на основе указанного имени базы данных или строки подключения. По умолчанию используется соединение с «.\SQLEXPRESS». Это поведение можно изменить, заменив базовую строку подключения при конструировании экземпляра фабрики.

SuppressDbSetInitializationAttribute

Этот атрибут может применяться либо ко всему производном DbContext классу, либо к отдельным DbSet<TEntity> свойствам или IDbSet<TEntity> в этом классе. При применении все обнаруженные DbSet<TEntity> свойства или IDbSet<TEntity> будут по-прежнему включены в модель, но не будут инициализированы автоматически.

TableExistenceChecker

Реализуется поставщиками Entity Framework и используется для проверка, существуют ли таблицы в данной базе данных. Это используется инициализаторами баз данных при определении того, следует ли рассматривать существующую базу данных как пустую, чтобы создавать таблицы.

TransactionContext

Этот класс используется для CommitFailureHandler записи и чтения данных трассировки транзакций из базы данных. Чтобы настроить определение таблицы транзакций, можно наследовать от этого класса и переопределить OnModelCreating(DbModelBuilder). Производные классы можно зарегистрировать с помощью DbConfiguration.

TransactionHandler

Базовый класс для перехватчиков, обрабатывающих операции транзакций. Производные классы можно зарегистрировать с помощью SetDefaultTransactionHandler(Func<TransactionHandler>) или SetTransactionHandler(String, Func<TransactionHandler>, String).

TransactionRow

Rrepresents a transaction

UnintentionalCodeFirstException

Возникает, когда контекст создается из шаблонов в режиме DbContext Database First или Model First, а затем используется в режиме Code First.

Интерфейсы

IDbAsyncEnumerable

Асинхронная IEnumerable версия интерфейса, которая позволяет асинхронно извлекать элементы. Этот интерфейс используется для взаимодействия с запросами Entity Framework и не должен реализовываться пользовательскими классами.

IDbAsyncEnumerable<T>

Асинхронная IEnumerable<T> версия интерфейса, которая позволяет асинхронно извлекать элементы перечисляемой последовательности. Этот интерфейс используется для взаимодействия с запросами Entity Framework и не должен реализовываться пользовательскими классами.

IDbAsyncEnumerator

Асинхронная IEnumerator версия интерфейса, которая позволяет асинхронно извлекать элементы. Этот интерфейс используется для взаимодействия с запросами Entity Framework и не должен реализовываться пользовательскими классами.

IDbAsyncEnumerator<T>

Асинхронная IEnumerator<T> версия интерфейса, которая позволяет асинхронно извлекать элементы. Этот интерфейс используется для взаимодействия с запросами Entity Framework и не должен реализовываться пользовательскими классами.

IDbAsyncQueryProvider

Определяет методы для создания и асинхронного выполнения запросов, описываемых IQueryable объектом . Этот интерфейс используется для взаимодействия с запросами Entity Framework и не должен реализовываться пользовательскими классами.

IDbConnectionFactory

Реализации данного интерфейса используются для создания объектов DbConnection для типа сервера базы данных на основе указанного имени базы данных. Экземпляр задается в Database классе , чтобы все созданные dbContexts без сведений о подключении или только с именем базы данных или строкой подключения по умолчанию использовали определенный тип сервера базы данных. Предоставляются две реализации этого интерфейса: SqlConnectionFactory используется для создания подключений к microsoft SQL Server, включая выпуски EXPRESS. SqlCeConnectionFactoryиспользуется для создания подключений к Microsoft SQL Server Compact Editions. При необходимости можно добавить другие реализации для других серверов баз данных. Обратите внимание, что реализации должны быть потокобезопасными или неизменяемыми, так как к ней могут одновременно обращаться несколько потоков.

IDbContextFactory<TContext>

Фабрика для создания производных DbContext экземпляров. Реализуйте этот интерфейс, чтобы включить службы времени разработки для типов контекста, не имеющих открытого конструктора по умолчанию. Во время разработки можно создавать производные DbContext экземпляры, чтобы обеспечить определенные возможности во время разработки, такие как отрисовка модели, создание DDL и т. д. Чтобы включить создание экземпляров во время разработки для производных DbContext типов, у которых нет открытого конструктора по умолчанию, реализуйте этот интерфейс. Службы времени разработки автоматически обнаруживают реализации этого интерфейса, которые находятся в той же сборке, что и производный DbContext тип.

IDbExecutionStrategy

Стратегия, которая используется для выполнения команды или запроса к базе данных, возможно, с логикой для повтора при возникновении сбоя.

IDbModelCacheKey

Представляет значение ключа, однозначно определяющее модель Entity Framework, загруженную в память.

IDbModelCacheKeyProvider

Реализуйте этот интерфейс в контексте, чтобы использовать пользовательскую логику для вычисления ключа, используемого для поиска уже созданной модели в кэше. Этот интерфейс позволяет иметь один тип контекста, который можно использовать с разными моделями в одном домене приложения, или с несколькими типами контекста, которые используют одну и ту же модель.

IDbProviderFactoryResolver

Служба для получения правильного DbProviderFactory значения из заданного DbConnectionобъекта .

IManifestTokenResolver

Служба для получения маркера манифеста поставщика при подключении. Класс DefaultManifestTokenResolver используется по умолчанию и использует базовый поставщик для получения маркера, который часто включает в себя открытие подключения. Вместо этого можно использовать другую реализацию, добавив в , IDbDependencyResolverDbConfiguration который может использовать любые сведения в соединении для возврата маркера. Например, если известно, что подключение указывает на базу данных SQL Server 2008, можно вернуть "2008", не открывая подключение.

IMetadataAnnotationSerializer

Реализуйте этот интерфейс, чтобы разрешить сериализацию пользовательских заметок, представленных экземплярами MetadataProperty , в XML-коде EDMX и из нее. Обычно экземпляр сериализатора задается с помощью SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>) метода .

IObjectContextAdapter

Интерфейс, реализованный объектами, которые могут предоставить ObjectContext экземпляр . Класс DbContext реализует этот интерфейс для предоставления доступа к базовому объекту ObjectContext.

IProviderInvariantName

IDbDependencyResolver Используется и DbConfiguration при разрешении инвариантного имени поставщика из DbProviderFactory.

Перечисления

DbConnectionStringOrigin

Описывает источник строки подключения к базе данных, связанной DbContextс .