2014-04-16 69 views
-1

我想知道是否有可能只在LINQ中如果複選框被選中的條件。LINQ如果在哪裏條件

var y = from x in db.RandomTable 
     where /*??if checkbox.Checked=true??*/x.RandomInteger == 0 
     select x; 
+0

是的,你只需要檢查的首先檢查複選框,如果不是,則不要運行它。 –

+0

謝謝大家! – Saeq

回答

2
var y = from x in db.RandomTable 
    where !checkBox.Checked || x.RandomInteger == 0 
    select x; 
+0

謝謝,這就是我一直在尋找的! – Saeq

-1
var checked = checkbox.Checked; 

var y = from x in db.RandomTable 
       where !checked || (checked && x.RandomInteger == 0) 
       select x; 
0

要建立明確的代碼,我會去到語法方向:

var q = db.RandomTable as IQueryable; 
if (checkBox.Checked) 
{ 
    q = q.Where(/* condition */); 
} 
var y = q.Select(/* whatever you want to select */); 
0

這裏是如何做到這一點

IQueryable qry = db.RandomTable; 

if (Checkbox.Checked) qry = qry.Where(x => x.RandomInteger == 0); 

var result == qry.ToArray();