簡體   English   中英

LINQ查詢中的if語句在哪里

[英]where if statement in linq query c#

我有一個運行良好的linq查詢,但是,如果我有一個空的mySTRINGVAR ,我想避免使用整個“ where”過濾器,但是當我包含if語句時,它使查詢中斷了! 在此先感謝您的幫助。

因此,這就是我所擁有的,並且運行完美!!:

var records = from school in schools
   join tableA in tableAs on someid equals anotherid into tableC
   from tableD in tableC.Where(c => c.tablefield == mySTRINGVAR).DefaultIfEmpty()
   select new { etc.. }

但是,如果mySTRINGVAR為null或為空,我試圖不包括任何“ where”語句:

var records = from school in schools
   join tableA in tableAs on someid equals anotherid into tableC
   from tableD in tableC.DefaultIfEmpty()
   select new { etc.. }

但是,如果mySTRINGVAR為null或為空,我將嘗試不包含任何“ where”語句:

修改Where

tableC.Where(c => !string.IsNullOrEmpty(mySTRINGVAR) && c.tablefield == mySTRINGVAR)

暫無
暫無

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

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