Linq获取比姓氏更高的项目

问候

我正在尝试找到一种方法,使用Linq-to-SQL来获取前15个记录,这些记录的姓氏更高,然后是“Jan”。

当我在SQL中使用它时,我得到的每个成员姓氏以字母顺序高于“Jan”的任何字母开头。

但是使用query.Where(m=>m.LastName > "Jan")并不会令人遗憾。

谁知道我怎么能做到这一点?

你可以尝试:

 query.Where(m => m.LastName.CompareTo("Jan") > 0) 

毕竟,这就是你用正常的C#写它的方式。

目前尚不清楚这是LINQ to Objects还是其他一些提供商。 如果是LINQ to Objects,则应考虑使用显式StringComparer。 例如:

 query.Where(m => StringComparer.CurrentCulture.Compare(m.LastName, "Jan") > 0) 

这清楚地说明了你想要什么样的比较。 如果你正在使用像LINQ to SQL这样的东西,那可能行不通 – 我想你会得到提供商可以处理的任何比较,基本上。

 query.Where(m => m.Substring(0, 3).CompareTo("Jan") > 0);