为了账号安全,请及时绑定邮箱和手机立即绑定

仅当上下文使用关系数据库提供程序时才能使用特定于关系的方法?

仅当上下文使用关系数据库提供程序时才能使用特定于关系的方法?

C#
尚方宝剑之说 2023-08-20 15:50:10
我在尝试调用时遇到了此异常DbContext.Database.Migrate。看起来这在网络上并不常见(或者谷歌在搜索它时遇到了一些麻烦?)。我能找到的唯一可能的原因是in-memory数据库或某种不是这样的提供商relational?Oracle.EntityFrameworkCore但是在调试时,我可以看到我正在使用的提供程序名称是Oracle.EntityFrameworkCore 2.19.30(连接到 Oracle 数据库)。所以现在很混乱,我不确定这里出了什么问题。代码很简单,如下所示:_dbContext.Database.Migrate();
查看完整描述

1 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

我认为抛出的异常非常令人困惑。我必须查看源代码,RelationalDatabaseFacadeExtensions.GetRelationalService通过它我可以看到不知何故TService未加载。该服务类型可能包含在某个dll中(最有可能的是Microsoft.EntityFrameworkCore.Relational.dll,如果该dll未正确加载,它将抛出所描述的异常。

实际上,就我而言,该 dll 加载了错误的版本(加载了 2.2.4.0,而版本Microsoft.EntityFrameworkCore是 2.2.6.0)。所有这一切都是在我尝试动态加载它们时发生的(没有在项目中紧密引用它们)。


查看完整回答
反对 回复 2023-08-20
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信