System.Data.Entity 命名空间

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

System.Data.Entity 命名空间包含提供对实体框架的核心功能的访问的类。

  描述
公共类 CreateDatabaseIfNotExists<TContext> IDatabaseInitializer 的实现,它仅在数据库不存在时重新创建数据库并选择重新设置数据库的种子。若要设置数据库的种子,请创建一个派生类并重写 Seed 方法。
公共类 Database DbContext 对象获取此类的实例,并且可使用该实例管理支持 DbContext 或连接的实际数据库。这包括对数据库执行创建、删除和存在性检查操作。请注意通过使用此类的静态方法,您只需使用一个连接(即无需完整上下文)即可对数据库执行删除和存在性检查。
公共类 DbConfiguration 从该类派生的类可与从 DbContext 派生的类放置在同一个程序集中,以便定义应用程序的实体框架配置。通过调用受保护的方法并且在派生类型的构造函数中设置该类的受保护的属性,对配置进行设置。还可以在应用程序的配置文件中注册要使用的类型。有关实体框架配置的更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=260883。
公共类 DbConfigurationTypeAttribute 可将此属性置于 DbContext 的子类上,以指示 DbConfiguration 的子类,后者表示应用程序的基于代码的配置与上下文类型处于不同的程序集中。
公共类 DbContext DbContext 实例表示工作单元和存储库模式的组合,可用来查询数据库并将更改组合在一起,这些更改稍后将作为一个单元写回存储区中。DbContext 在概念上与 ObjectContext 类似。
公共类 DbContextTransaction 包装对基础存储连接的事务对象的访问并确保实体框架在该事务的上下文内对数据库执行命令。通过对 DbContextDatabase 对象调用 BeginTransaction() 来检索此类的实例。
公共类 DbFunctionAttribute 指示给定的方法是 EDM 函数的代理。
公共类 DbFunctions 提供在 DbContextObjectContext LINQ to Entities 查询中使用的公开 EDM 规范函数的公共语言运行时 (CLR) 方法。
公共类 DbModelBuilder DbModelBuilder 用于将 CLR 类映射到数据库架构。此以代码为中心的方法称作“Code First”,可用于生成实体数据模型 (EDM) 模型。
公共类 DbModelBuilderVersionAttribute 此特性可应用于派生自 DbContext 的类,以便在从代码生成模型(也称为“Code First”)时设置应使用的 DbContext 和 DbModelBuilder 约定的版本。有关 DbModelBuilder 版本的详细信息,请参见 DbModelBuilderVersion 枚举。
公共类 DbSet 非泛型版本的 DbSet<TEntity>,可在生成时不知道实体类型时使用。
公共类 DbSet<TEntity> DbSet 表示上下文中给定类型的所有实体的集合或可从数据库中查询的给定类型的所有实体的集合。可以使用 DbContext.Set 方法从 DbContext 中创建 DbSet 对象。
公共类 DropCreateDatabaseAlways<TContext> IDatabaseInitializer 的实现,它总是会在首次在应用程序域中使用上下文时,重新创建数据库并可以选择重新设置数据库的种子。若要设置数据库的种子,请创建一个派生类并重写 Seed 方法。
公共类 DropCreateDatabaseIfModelChanges<TContext> IDatabaseInitializer 的实现,它仅在模型自数据库创建后发生更改时删除数据库、重新创建数据库并选择重新设置数据库的种子。
公共类 MigrateDatabaseToLatestVersion<TContext, TMigrationsConfiguration> 将使用 Code First 迁移将数据库更新到最新版本的 IDatabaseInitializer<TContext> 的实现。
公共类 NullDatabaseInitializer<TContext> 不执行任何操作的 IDatabaseInitializer<TContext> 的实现。使用此初始值设定项将禁用给定上下文类型的数据库初始化。将此类的实例传递给 SetInitializer<TContext>(IDatabaseInitializer<TContext>) 将等效于传递 null。正在使用 IDbDependencyResolver 解析初始值设定项时,此类的实例必须用于禁用初始化。
公共类 ObservableCollectionExtensions ObservableCollection<T> 的扩展方法。
公共类 QueryableExtensions 提供用于 Entity Framework LINQ 查询的有用扩展方法。

接口

  接口 描述
公共接口 IDatabaseInitializer<TContext> 此接口的实现用于在首次使用 DbContext 派生类的实例时初始化基础数据库。此初始化可以有条件地创建数据库和/或使用数据设置其种子。使用 Database 类的静态 InitializationStrategy 属性设置所用的策略。提供以下实现:DropCreateDatabaseIfModelChanges<TContext>DropCreateDatabaseAlways<TContext>CreateDatabaseIfNotExists<TContext>
公共接口 IDbSet<TEntity> IDbSet<TEntity> 表示上下文中给定类型的所有实体的集合或可从数据库中查询的给定类型的所有实体的集合。DbSet<TEntity> 是 IDbSet 的具体实现。

枚举

  枚举 描述
公共枚举 DbModelBuilderVersion 可直接将此枚举中的值提供给 DbModelBuilder 类,也可以在应用到派生自 DbContext 的类的 DbModelBuilderVersionAttribute 中使用该值。使用的值可定义在从代码生成模型(也称为“Code First”)时应使用的 DbContext 和 DbModelBuilder 约定的版本。
公共枚举 EntityState 描述实体的状态。
公共枚举 TransactionalBehavior 在执行数据库命令或查询期间控制事务创建行为。