SQL Server 升级Microsoft.EntityFrameworkCore.SqlServer版本时出错

puruo6ea  于 2023-02-15  发布在  其他
关注(0)|答案(1)|浏览(341)

我正在尝试将Microsoft.EntityFrameworkCore.SqlServer版本升级到2.1.1。升级到2.1.1后,屏幕截图中显示了以下粗体标记部分代码的错误

var queryCompiler = (IQueryCompiler)_queryCompilerField.GetValue(queryable.Provider);
var queryModelGenerator = (**IQueryModelGenerator**)_queryModelGeneratorField.GetValue(queryCompiler);
var queryModel = queryModelGenerator.ParseQuery(queryable.Expression);
var database = _databaseField.GetValue(queryCompiler);
var queryCompilationContextFactory = ((DatabaseDependencies)_dependenciesProperty.GetValue(database)).QueryCompilationContextFactory;
var queryCompilationContext = queryCompilationContextFactory.Create(false);
var modelVisitor = (**RelationalQueryModelVisitor**)queryCompilationContext.**CreateQueryModelVisitor**();
modelVisitor.CreateQueryExecutor<TEntity>(queryModel);

h43kikqp

h43kikqp1#

升级Microsoft.EntityFrameworkCore.SqlServer版本时出错:
通常,如果您引用的命名空间未被编译器找到,则会发生找不到类型或命名空间错误。这意味着在升级到更高版本时,未安装引用的程序集,或者命名空间或类型在更高版本中发生了更改。

需要检查并解决:-

  • 卸载包并重新安装。重新生成解决方案有时会起作用,因为它会清除所有该高速缓存并重新生成。
  • 在解决方案资源管理器(VScode)中重新加载项目,如果存在任何包引用,则修改.csproj。
  • 若要避免这些错误,请将包引用更改为Microsoft.AspNetCore.All。将包括所有实体框架引用。

  • 如果命名空间在您尝试升级的版本中已更改,则必须相应地更新代码要求。
  • 检查代码中是否正确引用了已安装的版本。
    注意:依赖于Microsoft.EntityFrameworkCore.SqlServer的任何其他程序包必须与Microsoft.EntityFrameworkCore.SqlServer版本兼容。

在此处检查依赖项。
参考MSDoc

相关问题