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

.NET 7中MongoDB.Driver 2.22.0缺失异步方法问题

问题解决:MongoDB LINQ异步方法无法使用的原因及修复

核心原因

你遇到的FirstOrDefaultAsync、ToListAsync等异步LINQ方法无法使用,本质是缺少MongoDB LINQ扩展的支持包,或当前驱动版本与.NET 7不兼容。

需安装的NuGet包

确保已安装以下两个核心包:

  • MongoDB.Driver:MongoDB官方驱动核心包
  • MongoDB.Driver.Linq:提供LINQ异步扩展方法的专属包

安装方式

通过NuGet包管理器控制台:

Install-Package MongoDB.Driver
Install-Package MongoDB.Driver.Linq

或使用.NET CLI:

dotnet add package MongoDB.Driver
dotnet add package MongoDB.Driver.Linq

额外注意点

  • 版本适配:选择2.19.x及以上版本的MongoDB驱动,该系列开始全面支持.NET 7。
  • 命名空间确认:你的代码已正确引用MongoDB.Driver.Linq,这部分无需调整。
  • 异步方法来源:这些异步LINQ方法是MongoDB.Driver.Linq提供的IQueryable<T>扩展,标准System.Linq不包含此类异步方法。

代码修正提示

你的GetById方法未添加ID过滤条件,补充后完整代码示例:

public async Task<OperationResult<Story>> GetById(long id)
{
    var data = await _stories.FirstOrDefaultAsync(s => s.Id == id);
        
    return data is null ? 
        OperationResult<Story>.Failure(ResultCode.EntityNotFound) : 
        OperationResult<Story>.Success(data);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:32:36