【发布时间】:2020-10-05 00:26:09
【问题描述】:
我的 WebAPI 项目中有 2 个 EF Core DBContext。
一个是 OracleContext - Oracle.EntityFrameworkCore(2.19.70)。
OracleContext 是一个现有的数据库,我已经在其中创建了用于查询只读数据的存储库。
其次是 SQLServerContext - EFCore(3.1.5)
SQLServerContext 是一种代码优先的方法,用于编写应用程序的其余功能。
每当我尝试运行 Add-Migration InitialCreate -Context SQLServerContext -OutputDir Migrations\SqlServerMigrations 时都会出现错误:
类型中的方法“get_Info” 'Oracle.EntityFrameworkCore.Infrastructure.Internal.OracleOptionsExtension' 从程序集'Oracle.EntityFrameworkCore,版本= 2.0.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342' 没有 实施。
我相信 Add-Migration 也在尝试执行 OracleContext 但我希望 SQLServerContext 只生成迁移文件,我该如何实现?
[编辑] - 每个 DBContexts 都存在于自己的 dotnet 核心库类中。 - WebAPI 项目是启动项目。
【问题讨论】:
-
From here,这可能是由于 EfCore 3.0 中的重大更改以及后来无法与较旧的提供程序一起使用。您要么需要将 EfCore 降级到 2.x,要么尝试Oracle 3.19.0-beta1
-
在将 SQLServerContext 项目降级到 2.2.6 后,我想我几乎可以解决它了。现在我面临:Microsoft.EntityFrameworkCore.Design.OperationException:无法创建“SQLServerContext”类型的对象。有关设计时支持的不同模式,请参阅go.microsoft.com/fwlink/?linkid=851728
标签: c# oracle entity-framework .net-core ef-core-3.1