如何使用Linq执行动态查询

时间:2012-05-27 03:14:32

标签: c# linq-to-sql linq-to-entities

我正在尝试执行动态OR。例如:

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

我将通过一个方法传递第一个查询然后需要执行和OR而不是和。我如何使用Linq做到这一点?

2 个答案:

答案 0 :(得分: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 :(得分:1)

试试这个:

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