什么相当于LINQ之间的比较字符串或lambda表达式之间的子句?

Mat*_*tti 14 c# linq entity-framework razor asp.net-mvc-3

如何使用LINQ或Lambda Expression过滤两个字符串的查询间隔.

例:

SELECT * FROM dbo.Country WHERE Name BETWEEN "Argentina" AND "Jamaica";
Run Code Online (Sandbox Code Playgroud)

Aqd*_*das 18

perpetrators> =和<=不是字符串.他们会向你抛出编译时错误.你可以使用CompareTo,如下所示

x.Name.CompareTo(Start) >= 0 && x.Name.CompareTo(End) <= 0
Run Code Online (Sandbox Code Playgroud)


Bar*_*rdo 11

你有没有尝试过:

yourDataContext.Country.Where(c => c.Name >= "Argentina" && c.Name <= "Jamaica");
Run Code Online (Sandbox Code Playgroud)

  • 你必须使用`c.Name.CompareTo("Argentina")> = 0 && c.Name.CompareTo("Jamaica")<= 0`,但我不确定这是否通过实体框架进行转换. (15认同)
  • 这样做,它会问我以下错误:运算符'<='不能应用于'string'和'string'类型的操作数 (5认同)