我的意圖是彙總結果而不是縮小結果。如何將以下linq查詢轉換爲像SQL一樣的(有)
if (Request.QueryString["VenueType"] == null)
Renders = _renderContext.Renders;
else
{
List<int> venueTypeIds = Request.QueryString["VenueType"].Split(',')
.Select(int.Parse).ToList();
Renders = _renderContext.Renders.Where(v => venueTypeIds.Contains(v.VenueTypeId));
}
// SECOND CRITERION:
if (Request.QueryString["SearchTerm"] != null)
Renders = Renders.Where(r => r.Title.ToLower()
.Contains(Request.QueryString["SearchTerm"].ToLower()));
// ADDITIONAL CRITERION:
if (Request.QueryString["EventType"] != null)
{
List<int> eventTypeIds = Request.QueryString["EventType"].Split(',')
.Select(int.Parse).ToList();
Renders = Renders.Where(w => eventTypeIds.Contains(w.EventTypeId));
}
if (Request.QueryString["DisplayFormat"] != null)
{
List<int> displayFormatIds = Request.QueryString["DisplayFormat"].Split(',')
.Select(int.Parse).ToList();
Renders = Renders.Where(w => displayFormatIds.Contains(w.DisplayFormatId));
}
查詢字符串來自可能有一個到多個選項的複選框組。我試圖返回的結果不應該在第一組標準後縮小,而是返回更多結果。
問題:如何使用where子句或GroupBy子句獲取返回項目的聚合,而不是縮小返回的項目?
我投這個答案被關閉,因爲即使我已經說過這個問題,我有一個答案幫助了我。它可能有輕微的語法錯誤,但它對我有幫助。其他人已經低估了它,如果其他人認爲這很糟糕,即使它對我有很大的幫助,它也一定是壞的。我不會在Stack Overflow上發佈太多內容,而是會向我的同事尋求我對問題的解答。感謝把我放在我的地方堆棧溢出! – 2014-10-29 12:39:02