HistoryContext 类

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

此类由 Code First 迁移用于读取和写入数据库中的迁移历史记录。 要对迁移历史记录表进行自定义,您可以从此类派生并重写 OnModelCreating。 派生的实例可以使用 SetHistoryContextFactory(String, Func<DbConnection, String, HistoryContext>) 基于每个迁移配置注册,或使用 SetDefaultHistoryContext(Func<DbConnection, String, HistoryContext>) 全局注册。

继承层次结构

System.Object
  System.Data.Entity.DbContext
    System.Data.Entity.Migrations.History.HistoryContext

命名空间:  System.Data.Entity.Migrations.History
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
Public Class HistoryContext _
    Inherits DbContext _
    Implements IDbModelCacheKeyProvider
用法
Dim instance As HistoryContext
public class HistoryContext : DbContext, 
    IDbModelCacheKeyProvider
public ref class HistoryContext : public DbContext, 
    IDbModelCacheKeyProvider
type HistoryContext =  
    class 
        inherit DbContext 
        interface IDbModelCacheKeyProvider 
    end
public class HistoryContext extends DbContext implements IDbModelCacheKeyProvider

HistoryContext 类型公开以下成员。

构造函数

  名称 描述
公共方法 HistoryContext 初始化 HistoryContext 类的新实例。如果要创建派生历史记录上下文,通常将公开一个构造函数,接受这同样的这些参数,然后将它们传递给此基构造函数。

顶部

属性

  名称 描述
公共属性 CacheKey 获取用于查找以前为此上下文生成的模型的键。这用于避免在每次创建新的上下文实例时处理 OnModelCreating 并计算模型。默认情况下,此属性返回默认架构。在多数情况下,您不需要重写此属性。但是,如果您的 OnModelCreating 实现包含导致为同一数据库提供程序和默认架构生成不同模型的条件逻辑,应重写此属性并计算相应的键。
公共属性 ChangeTracker 提供对用于处理实体的更改跟踪的上下文功能的访问。 (继承自 DbContext。)
公共属性 Configuration 提供对上下文的配置选项的访问。 (继承自 DbContext。)
公共属性 Database 为此上下文创建一个数据库实例,该上下文允许您对基础数据库执行创建/删除/存在性检查操作。 (继承自 DbContext。)
受保护的属性 DefaultSchema 获取要迁移的模型的默认架构。如果未在 OnModelCreating 中配置另一架构,则此架构将用于迁移历史记录表。
公共属性 History 获取或设置可用于读取和写入 HistoryRow 实例的 DbSet<TEntity>

顶部

方法

  名称 描述
公共方法 Dispose() 调用受保护的 Dispose 方法。 (继承自 DbContext。)
受保护的方法 Dispose(Boolean) 释放上下文。在以下情况下也将释放基础 ObjectContext:它由此上下文创建,或者在创建此上下文时将所有权传递给了此上下文。在以下情况下也将释放与数据库的连接(DbConnection 对象):它由此上下文创建,或者在创建此上下文时将所有权传递给了此上下文。 (继承自 DbContext。)
公共方法 Entry(Object) 获取给定实体的 DbEntityEntry 对象,以便提供对与该实体有关的信息的访问以及对实体执行操作的功能。 (继承自 DbContext。)
公共方法 Entry<TEntity>(TEntity) 获取给定实体的 DbEntityEntry<TEntity> 对象,以便提供对与该实体有关的信息的访问以及对实体执行操作的功能。 (继承自 DbContext。)
公共方法 Equals 确定指定的 DbContext 是否等于当前 DbContext。 (继承自 DbContext。)
受保护的方法 Finalize (继承自 Object。)
公共方法 GetHashCode 返回此 DBContext 的哈希函数。 (继承自 DbContext。)
公共方法 GetType 返回当前 DbContext 的类型。 (继承自 DbContext。)
公共方法 GetValidationErrors 验证跟踪实体,并返回包含验证结果的 DbEntityValidationResult 的集合。 (继承自 DbContext。)
受保护的方法 MemberwiseClone (继承自 Object。)
受保护的方法 OnModelCreating 应用迁移历史记录表的默认配置。如果重写此方法,建议在应用您的自定义配置前调用这个基实现。 (重写 DbContext.OnModelCreating(DbModelBuilder)。)
公共方法 SaveChanges 将在此上下文中所做的所有更改保存到基础数据库。 (继承自 DbContext。)
公共方法 SaveChangesAsync() 将在此上下文中所做的所有更改异步保存到基础数据库。 (继承自 DbContext。)
公共方法 SaveChangesAsync(CancellationToken) 将在此上下文中所做的所有更改异步保存到基础数据库。 (继承自 DbContext。)
公共方法 Set(Type) 针对对上下文和基础存储中给定类型的实体的访问返回一个非泛型 DbSet 实例。 (继承自 DbContext。)
公共方法 Set<TEntity>() 针对对上下文和基础存储中给定类型的实体的访问返回一个 DbSet<TEntity> 实例。 (继承自 DbContext。)
受保护的方法 ShouldValidateEntity 扩展点允许用户重写仅验证添加的实体和修改的实体的默认行为。 (继承自 DbContext。)
公共方法 ToString 返回 DbContext 的字符串表示形式。 (继承自 DbContext。)
受保护的方法 ValidateEntity 扩展点允许用户自定义实体的验证或筛选出验证结果。由 GetValidationErrors() 调用。 (继承自 DbContext。)

顶部

字段

  名称 描述
公共字段静态成员 DefaultTableName 用于迁移历史记录表的默认名称。

顶部

显式接口实现  

  名称 描述
显式接口实现私有属性 IObjectContextAdapter.ObjectContext 返回基础化此上下文的实体框架 ObjectContext。 (继承自 DbContext。)

顶部

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参阅

参考

System.Data.Entity.Migrations.History 命名空间