如何在LINQ WHERE语句中使用OR运算符

时间:2014-08-21 13:22:40

标签: c# linq tsql

我只需要用LINQ编写的这个TSQL语句的等价物。最好在lambda语句中,但任何东西都可行。 TSQL声明:

select *
from Table1 as t1
where t1.Column1 = a OR t1.Column2 = b

2 个答案:

答案 0 :(得分:6)

就像其他C#代码一样,||

使用OR

方法语法:

var query = db.Table1
              .Where(r=> r.Column1 == a || r.Column2 == b);

查询语法:

var query = from r in db.Table1
            where r.Column1 == a || r.Column2 == b
            select r;

查询语法编译为方法语法。

请参阅:Query Syntax and Method Syntax in LINQ (C#)

  

介绍语言集成查询(LINQ)中的大多数查询   文档是使用LINQ声明性查询语法编写的。   但是,必须将查询语法转换为方法调用   编译代码时的.NET公共语言运行库(CLR)。

您应该看到:Basic LINQ Query Operations (C#)

答案 1 :(得分:0)

这对我有用。

IQueryableNoveltydata = (IQueryable)noveltyOfPeriod;

var fillNoveltyData = 新奇数据。其中(c => c.TypeDay != 2 || c.TypeDay == 8)。 where(c => c.EmployeeID == employeeID);

int DayNoSalary = (int)(from dataQueryVal in fillNoveltyData select dataQueryVal).Sum(e => e.Days);