我创建了一个 .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);
*/
}
更多说明
在我的项目中引用了 Entityframework。 (.NET 核心)
最佳答案
EF Core 异步扩展方法在 Microsoft.EntityFrameworkCore 命名空间中定义。必须导入此命名空间才能使方法可用。
关于c# - 如何在异步等待 WEB API 中使用 FirstOrDefaultAsync(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51743262/