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);