使用多个EF迁移/配置时出错(每次都重新创建__MigrationHistory)

时间:2015-11-10 16:58:11

标签: c# entity-framework entity-framework-6 npgsql

我有2个不同且独立的dbcontexts,我想用代码优先迁移创建db模式(使用npgsql / posgresql)。 我使用Add-Migration命令行工具将2个不同的文件夹配置(AutomaticMigrationsEnabled设置为false)和2个初始迁移文件(每个dbcontext一次)。

然后我使用命令行Update-Database和第一个配置并且它工作,使用与第一个上下文相关的表正确创建db。 但是当我尝试将Update-Database与其他配置一起使用时,我得到一个例外,因为它试图创建已经存在的表__MigrationHistory。

我的代码中出了什么问题?

1 个答案:

答案 0 :(得分:0)

我发现错误,我不知道它是否是entityframework或npgsql dll的错误,但是如果dbcontexts使用的是与dbo不同的架构(我将所有架构设置为' public& #39;,默认的postgresql名称)为历史表子类化HistoryContext https://msdn.microsoft.com/en-us/data/dn456841.aspx设置相同的模式也是必要的。

详细错误是迁移执行的伪代码是

if not exist the table 'dbo'.__MigrationHistory
create the table 'public'.__MigrationHistory