vij*_*ahu 5 c# linq asynchronous entity-framework 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);
*/
}
Run Code Online (Sandbox Code Playgroud)
进一步澄清
在我的项目中参考Entityframework。(.NET Core)
得到刚刚安装的解决方案!
在我的 .net 核心项目中安装包 Microsoft.EntityFrameworkCore.Tools,它开始工作......谢谢大家的意见。
原因 :
System.Linq 命名空间确实支持 ToListAsync()、ToAsyncEnumerable()、FindAsync() 和 SaveChangesAsync()
要使用 FirstOrDefaultAsync() 和 SingleOrDefaultAsync() 方法,我们必须安装这个包。
再次感谢。