我有2个不同且独立的dbcontexts,我想用代码优先迁移创建db模式(使用npgsql / posgresql)。 我使用Add-Migration命令行工具将2个不同的文件夹配置(AutomaticMigrationsEnabled设置为false)和2个初始迁移文件(每个dbcontext一次)。
然后我使用命令行Update-Database和第一个配置并且它工作,使用与第一个上下文相关的表正确创建db。 但是当我尝试将Update-Database与其他配置一起使用时,我得到一个例外,因为它试图创建已经存在的表__MigrationHistory。
我的代码中出了什么问题?
答案 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