在EF6中,当我使用Enable-migrations命令时,从DbMigrationsConfiguration类型生成文件,并且在此文件中有一个名为“ContextKey”的属性。
我使用这个属性从上下文定义键,并在不同的上下文中建立表之间的关系,同样在不同的类中。
internal sealed class Configuration : DbMigrationsConfiguration<WebApplication2.Context2>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
ContextKey = "eTurnContext";
}
}
但是在EF7中我没有更多这个对象DbMigrationsConfiguration。在EF7中是否有另一种方法可以解决这个问题?
谢谢
答案 0 :(得分:0)
从我的问题/答案中获取 - Entity Framework Core Mutiple DbContext Migrations in same database
以前,Entity Framework在数据库中存储了模型的快照。这导致实体框架每次都必须查询数据库,以便计算出已经运行的迁移。
在EF7中,迁移历史记录存储在代码中的快照中(以及存储在熟悉的“迁移”文件夹中的现有迁移)。 每次更新模型并创建迁移时,快照文件都会更新。
因此,不需要在早期版本的Entity Framework中使用ContextKey。
它只是有效。
答案 1 :(得分:-1)
实体框架核心(v7)的表格__EFMigrationsHistory
有两列:
EF6 __MigrationsHistory
表中没有ContextKey列。也许他们已经删除了它,因为ContextKey是多余的,因为您可以在迁移名称中使用ContextKey。