Linq 获取高于姓氏的项目

发布于 2024-10-12 13:22:04 字数 223 浏览 3 评论 0原文

我正在尝试找到一种

使用 Linq-to-SQL 来获取姓氏高于“Jan”的前 15 条记录的方法。

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

然而,使用 query.Where(m=>m.LastName > "Jan") 不幸的是不起作用。

有人知道我怎样才能实现这一目标吗?

Greetings

I'm trying to find a way using Linq-to-SQL to get the first 15 records which have a higher last name then "Jan".

When I use this in SQL I get every member which lastname starts with any letters higher then "Jan" on alphabetical order.

However using query.Where(m=>m.LastName > "Jan") does not work sadly.

Anyone know how I can achieve this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

请持续率性 2024-10-19 13:22:05

您可以尝试:

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 之类的东西,那可能不起作用 - 我想您基本上会得到提供程序可以处理的任何类型的比较。

You could try:

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

That's how you'd write it in normal C#, after all.

It's not clear whether this is LINQ to Objects or some other provider. If it's LINQ to Objects, you should consider using an explicit StringComparer. For example:

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

this makes it clear what kind of comparison you want. If you're using something like LINQ to SQL, that may not work - I would imagine you'll get whatever sort of comparison the provider can handle, basically.

紫南 2024-10-19 13:22:05
query.Where(m => m.Substring(0, 3).CompareTo("Jan") > 0);
query.Where(m => m.Substring(0, 3).CompareTo("Jan") > 0);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文