System.Data.Entity.Infrastructure 命名空间

CommitFailedException

提交 DbTransaction时出错时引发。

CommitFailureHandler

一种事务处理程序,它允许通过在数据库中存储事务跟踪信息,在事务提交期间从连接故障中正常恢复。 需要使用 注册 SetDefaultTransactionHandler(Func<TransactionHandler>)它。

DbChangeTracker

由 的 ChangeTracker 方法 DbContext 返回,用于提供对与实体更改跟踪相关的上下文功能的访问权限。

DbCollectionEntry

类的非泛型版本 DbCollectionEntry<TEntity,TElement>

DbCollectionEntry<TEntity,TElement>

此类的实例从 的 Collection 方法 DbEntityEntry<TEntity> 返回,并允许对实体的集合导航属性执行加载等操作。

DbCompiledModel

实体数据模型的不可变表示形式 (EDM) 模型,可用于创建 ObjectContext 或 可以传递给 的 DbContext构造函数。 为了提高性能,应缓存和重用此类型的实例以构造上下文。

DbComplexPropertyEntry

类的非泛型版本 DbComplexPropertyEntry<TEntity,TComplexProperty>

DbComplexPropertyEntry<TEntity,TComplexProperty>

此类的实例从 的 ComplexProperty 方法 DbEntityEntry<TEntity> 返回,并允许访问复杂属性的状态。

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

表示由 DbModelBuilder创建的 EDM) (实体数据模型。 Compile 方法可用于从此 EDM 表示形式转到 ,DbCompiledModel它是适合缓存和创建 或 ObjectContext 实例的DbContext模型的已编译快照。

DbModelStore

持久化模型缓存的基类。

DbPropertyEntry

类的非泛型版本 DbPropertyEntry<TEntity,TProperty>

DbPropertyEntry<TEntity,TProperty>

此类的实例从 的 Property 方法 DbEntityEntry<TEntity> 返回,并允许访问标量或复杂属性的状态。

DbPropertyValues

基础实体或复杂对象的所有属性的集合。

DbProviderInfo

将标识提供程序和服务器版本的一对字符串组合成一个对象。

DbQuery

表示针对 DbContext 的非泛型 LINQ to Entities 查询。

DbQuery<TResult>

表示针对 DbContext 的 LINQ to Entities 查询。

DbRawSqlQuery

表示对从 DbContext 创建并使用来自该上下文的连接执行的非实体的 SQL 查询。 此类的实例是从 实例获取的 Database 。 创建此对象时不会执行该查询;只要枚举该查询,该查询就会执行(例如,使用 foreach)。 实体的 SQL 查询是使用 SqlQuery(String, Object[])创建的。 有关此类的泛型版本,请参阅 DbRawSqlQuery<TElement>

DbRawSqlQuery<TElement>

表示对从 DbContext 创建并使用来自该上下文的连接执行的非实体的 SQL 查询。 此类的实例是从 实例获取的 Database 。 创建此对象时不会执行查询;每次枚举时都会执行它,例如使用 foreach。 实体的 SQL 查询是使用 SqlQuery(String, Object[])创建的。 有关此类的非泛型版本,请参阅 DbRawSqlQuery

DbReferenceEntry

类的非泛型版本 DbReferenceEntry<TEntity,TProperty>

DbReferenceEntry<TEntity,TProperty>

此类的实例从 的 Reference 方法 DbEntityEntry<TEntity> 返回,并允许对实体的引用导航属性执行加载等操作。

DbSqlQuery

表示对从 DbContext 创建并使用来自该上下文的连接执行的实体的 SQL 查询。 此类的实例是从 DbSet 实体类型的 实例获取的。 创建此对象时不会执行该查询;只要枚举该查询,该查询就会执行(例如,使用 foreach)。 使用 SqlQuery(Type, String, Object[])创建非实体的 SQL 查询。 有关此类的泛型版本,请参阅 DbSqlQuery<TEntity>

DbSqlQuery<TEntity>

表示对从 DbContext 创建并使用来自该上下文的连接执行的实体的 SQL 查询。 此类的实例是从 DbSet<TEntity> 实体类型的 实例获取的。 创建此对象时不会执行该查询;只要枚举该查询,该查询就会执行(例如,使用 foreach)。 使用 SqlQuery<TElement>(String, Object[])创建非实体的 SQL 查询。 有关此类的非泛型版本,请参阅 DbSqlQuery

DbUpdateConcurrencyException

如果预期实体的 SaveChanges 会导致数据库更新,但实际上数据库中没有任何行受到影响,则引发 DbContext 的异常。 这通常表示数据库已并发更新,因此预期匹配的并发令牌实际上不匹配。 请注意,由于安全性原因,此异常引用的状态条目不会序列化,序列化后对状态条目的访问将返回 null。

DbUpdateException

将更改保存到数据库失败时引发 DbContext 的异常。 请注意,由于安全性原因,此异常引用的状态条目不会序列化,序列化后对状态条目的访问将返回 null。

DefaultDbModelStore

在指定位置的 .edmx 文件中加载或保存模型。

DefaultExecutionStrategy

一个 IDbExecutionStrategy ,如果操作失败,则不会重试操作。

DefaultManifestTokenResolver

的默认实现 IManifestTokenResolver ,它使用基础提供程序获取清单令牌。 请注意,为了避免多个查询,此实现使用基于实例的实际类型、DataSource属性和 Database 属性的DbConnection缓存。

EdmMetadata

表示用于存储有关数据库中 EDM 的元数据的实体。

EdmxReader

用于从 .edmx 读取元数据模型的实用工具类。

EdmxWriter

包含用于访问由 Code First 创建的 EDMX 格式的实体数据模型的方法。 通常,在需要查看 Code First 内部创建的模型时,这些方法将用于调试。

ExecutionStrategyKey

用于解析 的 Func<TResult>键。 它由 ADO.NET 提供程序固定名称和连接字符串中指定的数据库服务器名称组成。

IncludeMetadataConvention

DbModelBuilder 约定导致 DbModelBuilder 在生成模型时包含有关模型的元数据。 按约定创建模型时 DbContext ,它会将此约定添加到 DbModelBuilder 使用的模型列表中。 如果使用 DbContext 创建数据库,则这将导致将模型元数据写入数据库。 然后,这可以用作快速检查,以查看模型自上次对数据库使用以来是否发生了更改。 可以通过重写派生 DbContext 类上的 DbModelBuilder OnModelCreating 方法,从约定中删除此约定。

LocalDbConnectionFactory

此类的实例用于根据给定的数据库名称或连接字符串为 SQL Server LocalDb 创建 DbConnection 对象。

ModelContainerConvention

DbModelBuilder 约定使用派生 DbContext 类的名称作为 Code First 生成的概念模型的容器。

ModelNamespaceConvention

DbModelBuilder 约定使用派生 DbContext 类的命名空间作为 Code First 生成的概念模型的命名空间。

ObjectReferenceEqualityComparer

使用引用相等性比较对象。

ReplacementDbQueryWrapper<TElement>

此类的实例在内部用于创建ObjectQuery<T>常量表达式,这些常量表达式插入到表达式树中以替换对 和 DbQueryDbQuery<TResult>引用。

RetryLimitExceededException

重试配置的次数后操作再次失败时引发的异常。

SqlCeConnectionFactory

此类的实例用来基于给定的数据库名称或连接字符串创建 SQL Server Compact Edition 的 DbConnection 对象。

SqlConnectionFactory

此类的实例用来基于给定的数据库名称或连接字符串创建 SQL Server 的 DbConnection 对象。 默认情况下,将建立与“.\SQLEXPRESS”的连接。 在构造工厂实例时,可通过更改基础连接字符串来更改此设置。

SuppressDbSetInitializationAttribute

此属性可以应用于整个派生 DbContext 类,也可以应用于该类上的单个 DbSet<TEntity>IDbSet<TEntity> 属性。 应用时,任何发现的 DbSet<TEntity>IDbSet<TEntity> 属性仍将包含在模型中,但不会自动初始化。

TableExistenceChecker

由实体框架提供程序实现,用于检查给定数据库中是否存在表。 在确定是否将现有数据库视为空以便创建表时,数据库初始值设定项使用此方法。

TransactionContext

此类用于 CommitFailureHandler 从数据库写入和读取事务跟踪信息。 若要自定义事务表的定义,可以从此类派生并重写 OnModelCreating(DbModelBuilder)。 可以使用 注册 DbConfiguration派生类。

TransactionHandler

处理事务操作的侦听器的基类。 可以使用 或 SetTransactionHandler(String, Func<TransactionHandler>, String)注册SetDefaultTransactionHandler(Func<TransactionHandler>)派生类。

TransactionRow

代表事务

UnintentionalCodeFirstException

在 Database First 或 Model First 模式下从 DbContext 模板生成上下文,然后在 Code First 模式下使用时引发。

接口

IDbAsyncEnumerable

允许异步检索元素的 IEnumerable 接口的异步版本。 此接口用于与实体框架查询交互,不应由自定义类实现。

IDbAsyncEnumerable<T>

接口的 IEnumerable<T> 异步版本,允许异步检索可枚举序列的元素。 此接口用于与实体框架查询交互,不应由自定义类实现。

IDbAsyncEnumerator

允许异步检索元素的 IEnumerator 接口的异步版本。 此接口用于与实体框架查询交互,不应由自定义类实现。

IDbAsyncEnumerator<T>

允许异步检索元素的 IEnumerator<T> 接口的异步版本。 此接口用于与实体框架查询交互,不应由自定义类实现。

IDbAsyncQueryProvider

定义用于创建和异步执行对象 IQueryable 描述的查询的方法。 此接口用于与实体框架查询交互,不应由自定义类实现。

IDbConnectionFactory

此接口的实现用来基于给定的数据库名称创建某个数据库服务器类型的 DbConnection 对象。 在 类上 Database 设置实例,使创建的所有 DbContext 在默认情况下不使用连接信息或仅数据库名称或连接字符串使用某种类型的数据库服务器。 提供了此接口的两个实现:SqlConnectionFactory用于创建与 Microsoft SQL Server的连接,包括 EXPRESS 版本。 SqlCeConnectionFactory用于创建与 Microsoft SQL Server Compact 版本的连接。 可根据需要添加其他数据库服务器的其他实现。 请注意,实现应是线程安全或不可变的,因为它们可能由多个线程同时访问。

IDbContextFactory<TContext>

用于创建派生 DbContext 实例的工厂。 实现此接口,为没有公共默认构造函数的上下文类型启用设计时服务。 在设计时,可以创建派生 DbContext 实例,以便启用特定的设计时体验,例如模型呈现、DDL 生成等。若要为没有公共默认构造函数的派生 DbContext 类型启用设计时实例化,请实现此接口。 设计时服务将自动发现此接口的实现,这些实现与派生 DbContext 类型位于同一程序集中。

IDbExecutionStrategy

一种策略,用于对数据库执行命令或查询,可能具有在发生故障时重试的逻辑。

IDbModelCacheKey

表示一个键值,该值唯一标识已加载到内存中的实体框架模型。

IDbModelCacheKeyProvider

在上下文上实现此接口,以使用自定义逻辑计算用于在缓存中查找已创建的模型的密钥。 此接口允许有一个上下文类型,可用于同一 AppDomain 中的不同模型,或者使用同一模型的多个上下文类型。

IDbProviderFactoryResolver

用于从给定 DbConnection获取正确 DbProviderFactory 值的服务。

IManifestTokenResolver

用于获取给定连接的提供程序清单令牌的服务。 类 DefaultManifestTokenResolver 默认使用,并利用基础提供程序获取令牌,这通常涉及打开连接。 可以通过向 添加 IDbDependencyResolverDbConfiguration ,来改用不同的实现,该实现可能会使用连接中的任何信息返回令牌。 例如,如果已知连接指向 SQL Server 2008 数据库,则无需打开连接即可返回“2008”。

IMetadataAnnotationSerializer

实现此接口以允许在 EDMX XML 中序列化实例 MetadataProperty 表示的自定义注释。 通常使用 SetMetadataAnnotationSerializer(String, Func<IMetadataAnnotationSerializer>) 方法设置序列化程序实例。

IObjectContextAdapter

接口由可以提供 ObjectContext 实例的对象实现。 类 DbContext 实现此接口以提供对基础 ObjectContext 的访问。

IProviderInvariantName

从 解析提供程序固定名称DbProviderFactory时,由 IDbDependencyResolverDbConfiguration 使用。

枚举

DbConnectionStringOrigin

描述与 DbContext关联的数据库连接字符串的来源。