You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET依赖注入添加Oracle DBContext时UseOracle方法缺失问题

VB.NET中EF Core无法识别UseOracle扩展方法的解决办法
  • 必须显式导入命名空间
    Oracle.EntityFrameworkCore的扩展方法位于Oracle.EntityFrameworkCore命名空间下,VB.NET不会自动导入第三方库的命名空间,需要在Global.asax.vb文件顶部添加:
Imports Oracle.EntityFrameworkCore
  • 确保NuGet包版本匹配
    Oracle.EntityFrameworkCore的版本必须和项目中Microsoft.EntityFrameworkCore的主版本完全一致(比如EF Core 6对应Oracle EF Core 6.x系列),版本不兼容会导致扩展方法无法被编译器识别。

  • 注意VB.NET的Lambda语法
    VB.NET的Lambda写法和C#不同,配置DbContext的正确语法是:

services.AddDbContext(Of MyDbContext)(Sub(options)
    options.UseOracle(connString)
End Sub)

不要使用C#的=>箭头语法,VB.NET用Sub/Function块定义匿名方法。

  • 验证NuGet包安装目标
    确认Oracle.EntityFrameworkCore是安装在当前正在配置的项目中,而非解决方案内的其他项目。可以通过右键项目→管理NuGet包,检查已安装列表。

内容的提问来源于stack exchange,提问作者ExpRick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:31:16