c# - 来自程序集“IBM.EntityFrameworkCore”的“IBM.EntityFrameworkCore.Query.Internal.Db2SqlTranslatingExpressionVisitorFactory”类型中的方法“创建”
问题描述
我正在尝试使用EntityFrameworkCore 3.1
NuGet 版本连接到 IBM DB2 数据库。我的DataAccess
项目是使用 .NET 标准 2.1 构建的,我在 .NET Core 3.1 Web API 项目中添加了它的引用。我正在DbContext
使用内置的 MS 依赖注入在我的 Web API 核心项目中注册,如下所示。
public void ConfigureServices(IServiceCollection services)
{
...
services.AddDbContext<RDSContext>(options => options
.UseDb2(Configuration["connectionStrings_IBMDb"], p => p.SetServerInfo(IBMDBServerType.IDS)));
...
}
当我尝试运行时,出现以下错误。无法理解根本原因。
System.TypeLoadException:来自程序集“IBM.EntityFrameworkCore,版本=3.1.0.400,文化=中性,PublicKeyToken=7c307b91aa13d208”的“IBM.EntityFrameworkCore.Query.Internal.Db2SqlTranslatingExpressionVisitorFactory”类型中的“方法“创建”没有实现。
我的DataAccess
项目有以下参考:
<PackageReference Include="IBM.Data.DB2.Core" Version="3.1.0.200" />
<PackageReference Include="IBM.EntityFrameworkCore" Version="3.1.0.200" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.0">
任何想法,我该如何解决这个错误?
解决方案
检查您的 Microsoft EntityFrameworkCore 包的版本。我相信最新版本是 5.x。我遇到了同样的问题,但能够通过将 Microsoft.EntityFrameworkCore.SqlSever 降级到 3.1.18 来解决它。除了 IBM EntityFrameworkCore (3.1.0.500),我还在我的项目(.net core 3.1 LTS)中使用了 EntityFrameworkCoreSqlServer 组件。
推荐阅读
- android - Android 检查服务(任何)是否正在运行
- python - 在 Pandas 中查找除 0 之外的列中的重复项
- c# - 从代码向连接字符串添加凭据
- forms - 将预先存在的值输入到引导程序 4 选择表单中
- css - 将悬停时弹性项目的宽度限制为初始宽度
- python - vaex groupby 从多个 hdf5 文件读取数据时给出 TypeError: unhashable type: 'Expression'
- java - JNA结构中的结构数组
- python - 如何加入数据框中的时间戳
- reactjs - 为什么 TypeError: Can't read undefined'map' 属性?
- r - 使用geom_bar制作条形图,y比例与数据不匹配