如何使用上下文工厂从CLI运行EF数据库更新

时间:2019-10-03 07:54:09

标签: c# entity-framework command-line-interface ef-migrations

在配置文件中使用连接字符串并使用可见的数据库上下文进行迁移的方法是使用上下文工厂,例如:Entity Framework Core migration - connection string。构建迁移有效,但是当我尝试运行实际迁移时:

dotnet ef database update

我收到错误消息:

  

找到了多个DbContext。指定使用哪个。使用“ -Context”参数   PowerShell命令和dotnet命令的'--context'参数。

首先,我不知道怎么可能有多个上下文,因为我只有一个。第二个问题,如何指出工厂(我不能指出上下文本身,因为上下文配置不正确,这是工厂的任务。)

作为一个临时解决方案,我从C#代码执行了迁移,但是我想知道如何从CLI进行迁移(如果使用上下文工厂完全可以做到这一点)。

更新1:似乎EF工具被其自身的输出所混淆,因为当我现在进行初始迁移时,我无法再执行创建另一个(包含更改)的操作-我正在与上述相同。

更新2 :目前在工厂中使用我的上下文类型代替通用的DbContext很有帮助,但是由于我已经遇到了由于空迁移而导致构建迁移失败的问题(以前是可行的),尚不确定这是否真的是解决方案。

0 个答案:

没有答案