Joh*_*n D 0 c# repository-pattern blazor-webassembly
该项目是 C# VS-2022 Blazor WASM,具有用于数据库 API 的 REST-API 存储库模式。
每当我在存储库函数中使用Where()条件时,我都会收到编译错误。
错误 CS1061“DbSet”不包含“GetAwaiter”的定义,并且找不到接受“DbSet”类型的第一个参数的可访问扩展方法“GetAwaiter”(您是否缺少 using 指令或程序集引用?)
例如在存储库函数中:
returnRecs = (await appDbContext.MOTrip).Where(r => (r.UID_CUSTOMER == uidModel));
Run Code Online (Sandbox Code Playgroud)
我尝试在存储库中进行过滤的原因是因为数据库表“MoTrip”包含数十万条记录。我认为(await appDbContext.MOTrip)在控制器中获取所有记录并遵循各种过滤条件将是浪费。
在此问题中提出的情况下,按 CUSTOMER 进行过滤将是存储库功能获取的记录数的 1/100。
欢迎您的回答和评论。谢谢约翰。
我宁愿在数据库中而不是在内存中进行过滤,这样可以避免从数据库中提取所有 10000 条记录。您可以通过申请.Where来做到这一点DbSet:
returnRecs = await appDbContext.MOTrip.Where(r => r.UID_CUSTOMER == uidModel)
.ToListAsync();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
331 次 |
| 最近记录: |