[英]How to use FirstOrDefaultAsync() in async await WEB API's
I have created one .NET Core API , where my all methods are asynchronous but there is one requirement like GetBalance()
which just return one entity (record) only. 我创建了一个.NET Core API,其中所有方法都是异步的,但是有一项要求,例如
GetBalance()
,它仅返回一个实体(记录)。
I am not able to using SingleOrDefaultAsync()
, getting error like does not contain a definition for this. 我无法使用
SingleOrDefaultAsync()
,出现类似错误,但不包含对此的定义。
I am using simple basic EF Code First approach with no Repository pattern. 我正在使用没有存储库模式的简单基本EF Code First方法。
Here is my code example. 这是我的代码示例。
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);
*/
}
For more clarification 进一步澄清
Reference of Entityframework in my project. 在我的项目中参考Entityframework。 (.NET Core)
(.NET Core)
Got the solution just installed! 得到了刚刚安装的解决方案!
Install-Package Microsoft.EntityFrameworkCore.Tools in my .net core project and it start working... Thank you all guys for your comments. 在我的.net核心项目中安装Pack。Microsoft.EntityFrameworkCore.Tools,它开始工作...谢谢大家的评论。
Reason : 原因:
System.Linq namespace does support ToListAsync(), ToAsyncEnumerable(), and FindAsync() and SaveChangesAsync() System.Linq命名空间确实支持ToListAsync(),ToAsyncEnumerable(),FindAsync()和SaveChangesAsync()
To work with FirstOrDefaultAsync() and SingleOrDefaultAsync() method we have to install this package. 要使用FirstOrDefaultAsync()和SingleOrDefaultAsync()方法,我们必须安装此软件包。
Thanks again. 再次感谢。
The EF Core async extension methods are defined in the Microsoft.EntityFrameworkCore namespace. EF Core异步扩展方法在Microsoft.EntityFrameworkCore命名空间中定义。 This namespace must be imported for the methods to be available.
必须导入该名称空间才能使方法可用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.