15

如何使用 LINQ 或 Lambda 表达式过滤两个字符串的查询间隔。

例子:

SELECT * FROM dbo.Country WHERE Name BETWEEN "Argentina" AND "Jamaica";
4

3 回答 3

22

肇事者 >= 和 <= 不适用于字符串。他们会向您抛出编译时错误。您可以为此使用 CompareTo,如下所示

x.Name.CompareTo(Start) >= 0 && x.Name.CompareTo(End) <= 0
于 2014-04-21T11:40:44.937 回答
11

你有没有尝试过:

yourDataContext.Country.Where(c => c.Name >= "Argentina" && c.Name <= "Jamaica");
于 2012-09-18T12:13:53.657 回答
0

var query = yourDataContext.Country..Where(Name => Name.IsBetween(Argentina, Jamaica));

于 2019-06-11T08:39:03.770 回答