[c#]使用 Linq 搜索的话,开始从 H 至 L

发布时间: 2017/2/26 15:54:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

在 LinQ 查询中我要搜索到 L.从 H 开头的单词 这是我的代码︰

var Artists = context.GetTable<Artist>();
var leftOuterJoinQuery =
            from arti in Artists
            where arti.Name.StartsWith("H")//to L

var 艺术家包含具有所有的艺术家,从我的数据库表。

有人知道如何解决这个问题吗?

解决方法 1:

在 SQL 中,您可以使用关系运算符为此 ( >< 等),但 C# 并不接受 stringA > stringB 。幸运的是,EF 转换 String.CompareTo 成关系运算符,所以你可以︰

where arti.Name.CompareTo("H") >= 0 && c.Name.CompareTo("M") < 0)

它将被转换为

WHERE ([Extent1].[Name] >= 'H') AND ([Extent1].[Name] < 'M')

请注意,它取决于数据库的排序规则的 Name 列是否区分大小写占。

官方微信
官方QQ群
31647020