Entity framework 如何在EntityFramework 7中定义ContextKey?

Entity framework 如何在EntityFramework 7中定义ContextKey?,entity-framework,entity-framework-6,entity-framework-core,Entity Framework,Entity Framework 6,Entity Framework Core,在EF6中,当我使用Enable migrations命令时,从DBMIGRIONSCONFIGURATION类型生成了一个文件,该文件中有一个名为“ContextKey”的属性 我使用这个属性来定义上下文中的键,并在不同上下文中的表之间建立关系,在不同的类中也是如此 internal sealed class Configuration : DbMigrationsConfiguration<WebApplication2.Context2> { public Config

在EF6中,当我使用Enable migrations命令时,从DBMIGRIONSCONFIGURATION类型生成了一个文件,该文件中有一个名为“ContextKey”的属性

我使用这个属性来定义上下文中的键,并在不同上下文中的表之间建立关系,在不同的类中也是如此

internal sealed class Configuration : DbMigrationsConfiguration<WebApplication2.Context2>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
        ContextKey = "eTurnContext";
    }
}
但在EF7中,我没有更多的对象dbmigrations配置。在EF7中有没有其他方法可以解决这个问题


感谢

Entity Framework Core v7提供了带有两列的“迁移历史记录”表:

MigrationId—在添加迁移PowerShell命令中指定的字符串。 ProductVersion-1.0.1-由实体框架核心定义的常量
EF6\uu MigrationsHistory表中不存在ContextKey列。可能他们删除了它,因为ContextKey是多余的,因为您可以在迁移名称中使用ContextKey。

从我的问题/答案中可以看出-

以前,实体框架在数据库中存储了模型的快照。这导致EntityFramework每次都必须查询数据库,以确定已经运行了哪些迁移

在EF7中,迁移历史记录与存储在熟悉的迁移文件夹中的现有迁移一起存储在代码中的快照中。 每次更新模型并创建迁移时,快照文件都会更新

因此,不需要在早期版本的实体框架中使用ContextKey


你找到答案了吗?你还没有真正回答这个问题。您刚刚声明了ContextKey不再存在于迁移表中,但您还没有说明原因——请参见下面的答案——我花了一个上午的时间来研究这一点,并四处玩转。