簡體   English   中英

查詢主體必須在使用lambda表達式的Linq查詢中以select子句或group子句結尾

[英]A query body must end with a select clause or a group clause in a Linq query using lambda expressions

我在這里使用lambda表達式的Linq查詢,並引發錯誤

查詢主體必須以select子句或group子句結尾

這是有問題的查詢

var query = from county in HWC.StateCounties.Where(w => w.StateID == id).Select(s => new CountyList
    {
        CountyID = s.StateCountyID,
        CountyName = s.CountyName
    });

我什至嘗試在末尾添加.Tolist()並得到相同的錯誤。

當我明顯有一個選擇子句時,為什么會發生這種情況?

我在查詢中犯了一個錯誤,查詢應該是這個

var query = HWC.StateCounties.Where(w => w.StateID == id).Select(s => new 
        {
            s.StateCountyID,
            s.CountyName
        });

盡管可以將Linq方法和擴展方法結合使用,但是Linq查詢始終需要在c#中以select結尾(在vb中這是不必要的)。 也許這只是個問題,但我更喜歡Linq而不是擴展方法,因為它消除了所有花括號,從而使代碼更具可讀性。

您的查詢看起來像

var query = 
   from county in HWC.StateCounties
   where county.stateID == id
   select new
   {
       county.StateCountyID,
       county.CountyName,
   };

如果要合並,查詢將如下所示:

var query = 
   from county in HWC.StateCounties.Where(s => s.stateID == id)
   select new
   {
       county.StateCountyID,
       county.CountyName,
   };

暫無
暫無

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

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