用于执行"Between"的Linq表达式

本文关键字:quot Linq 表达式 Between 用于 执行 | 更新日期: 2023-09-27 18:07:02

在SQL中,您可以编写一个查询,在类型为'nvachar'的列上执行between,并简单地返回指定的最小值和最大值之间的所有行。

例如,

Table (Id:Int, Name:nvarchar):
Contents:
1, Annie
2, Bill
3, Frank
4, Phil
5, Ted
Select * where Name Between 'Frank' and 'Ted'
Should return Frank, Phil, and Ted.

是否有办法做到这一点与linq或我将不得不创建一个自定义查询并执行它?我所见过的唯一示例涉及日期或整数,这使得它非常容易(可以使用<,>等比较操作符)。

用于执行"Between"的Linq表达式

您将使用CompareTo:

var query = from name in names
            where name.CompareTo("Frank") >= 0 &&
                  name.CompareTo("Ted") <= 0
            select name;

使用><是排他的(即排除Frank和Ted)。

基本上它与使用<>相同,但使用方法:)