c# - 如何在异步等待 WEB API 中使用 FirstOrDefaultAsync()

标签 c# entity-framework linq asynchronous async-await

我创建了一个 .NET Core API ,其中我的所有方法都是异步的,但有一个要求,如 GetBalance() 只返回一个实体(记录)。

我无法使用 SingleOrDefaultAsync(),收到类似不包含此定义的错误。

我使用的是简单的基本 EF Code First 方法,没有存储库模式。

这是我的代码示例。

public async Task<ResponseBalanceModel> GetBalanceFor(int accountNumber)
{
    var result = await _dbContext.Accounts.Where(x => 
             x.AccountNumber == accountNumber)
             .SingleOrDefaultAsync(); // this is not working.

    /*Below tried code are not working. 
    var result1 = await _dbContext.Accounts.Where(x => x.AccountNumber == accountNumber).SingleOrDefaultAsync();

    var result2 = await _dbContext.Accounts.FirstOrDefaultAsync(x => x.AccountNumber == accountNumber);
    */
 }

更多说明

enter image description here

在我的项目中引用了 Entityframework。 (.NET 核心)

enter image description here

最佳答案

EF Core 异步扩展方法在 Microsoft.EntityFrameworkCore 命名空间中定义。必须导入此命名空间才能使方法可用。

关于c# - 如何在异步等待 WEB API 中使用 FirstOrDefaultAsync(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743262/

相关文章:

c# - 使用 Linq 选择特定元素

javascript - 如何通过 jQuery 隐藏控件组?

c# - 使用 ResourceWrapper 在 Silverlight 4 中进行本地化

c# - 在 C# 中使用 LINQ 的条件过滤器

c# - IServiceProvider 不返回单例实例

c# - WCF 项目试图在数据库已经存在时重新创建它

c# - LINQ to Entities 自定义方法

c# - 如何筛选具有日期的列表并仅检索 7 天内的数据

c# - Orderby 不工作

c# - Linq FindAll 和 Where 返回不同的结果