簡體   English   中英

IEnumerable <Entity> &#39;不包含異步任務方法的&#39;GetAwaiter&#39;定義

[英]IEnumerable<Entity>' does not contain a definition for 'GetAwaiter' for Async Task Method

我正在嘗試從表中選擇1條記錄,但我不斷收到的錯誤是

“ IEnumerable”不包含“ GetAwaiter”的定義,並且找不到找到接受類型為“ IEnumerable”的第一個參數的擴展方法“ GetAwaiter”(是否缺少using指令或程序集引用?)

public class IntermediaryAssignment
    {   
       public string Company{get;set:}
       public string RegistrationNumber{get;set:}
       public bool Dispatched{get;set:}
    }

public async Task<IntermediaryAssignment> PickOneSticker(string company, 
                  string registrationNumber)
    {
        var db = new DatabaseContext();
        var results = await (from s in db.IntermediaryAssignment
                             where s.Dispatched == false && s.CompanyCode == 
                             company && s.RegistrationNumber ==
                              registrationNumber orderby s.StickerCode 
                             ascending select s).ToList().Take(1);
        return results.FirstOrDefault();
    }
var results = await (from s in db.IntermediaryAssignment
                         where s.Dispatched == false && s.CompanyCode == 
                         company && s.RegistrationNumber ==
                          registrationNumber orderby s.StickerCode 
                         ascending select s).FirstOrDefaultAsync();
    return results;

如果您打算根據訂單購買第一件商品,則最好使用不帶ToList()Take(1) FirstOrDefault

FirstOrDefault實現查詢,並從數據庫中獲取第一項。

ToList()如果您需要基於用於列表的過濾器獲取項目。

在當前查詢中.ToList().Take(1); ToList()將所有數據存儲到內存中並獲取第一個數據,您可以使用FirstOrDefault從數據庫直接獲取第一個數據,而不是其他數據

var db = new DatabaseContext();
    var results = await (from s in db.IntermediaryAssignment
                         where s.Dispatched == false && s.CompanyCode == 
                         company && s.RegistrationNumber ==
                          registrationNumber orderby s.StickerCode 
                         ascending select s).ToListAsync());

    return results.FirstOrDefault();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM