2012-05-27 57 views
0

我正嘗試執行動態OR。例如:如何使用Linq執行動態查詢

test = test.Where(z => z.Id > 1); 
test = test.Where(x => x.Name == "Admin"); //or name equals admin 

我會通過一個方法傳遞第一查詢,則需要執行和OR代替和。我如何與Linq做到這一點?

+0

可能重複,看http://stackoverflow.com/questions/4391044/dynamic-linq-or-conditions – hatchet

回答

1

您可以使用union進行OR效果。

test1 = test.Where(z => z.Id > 1); 
    test2 = test.Where(x => x.Name == "Admin"); //or name equals admin 

    test = test1.Union(test2) 
1

試試這個:

test = test.Where(z => z.Id > 1 || z.Name == "Admin");