Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Linq搜索从H到L开始的单词_C#_Sql_Linq_Visual Studio_Linq To Entities - Fatal编程技术网

C# 使用Linq搜索从H到L开始的单词

C# 使用Linq搜索从H到L开始的单词,c#,sql,linq,visual-studio,linq-to-entities,C#,Sql,Linq,Visual Studio,Linq To Entities,在我的LinQ查询中,我必须搜索从H到L的单词。 这是我的代码: var Artists = context.GetTable<Artist>(); var leftOuterJoinQuery = from arti in Artists where arti.Name.StartsWith("H")//to L var-Artists=context.GetTable(); var leftOuterJoinQuery= 来自艺术

在我的LinQ查询中,我必须搜索从H到L的单词。 这是我的代码:

var Artists = context.GetTable<Artist>();
var leftOuterJoinQuery =
            from arti in Artists
            where arti.Name.StartsWith("H")//to L
var-Artists=context.GetTable();
var leftOuterJoinQuery=
来自艺术家中的arti
其中arti.Name.StartsWith(“H”)//到L
var Artists包含一个表,其中包含我数据库中的所有艺术家


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

你可以有一个字母列表,然后根据它进行筛选-例如:

var letters = new[] {"H","I", "J", "K", "L"};
var Artists = context.GetTable<Artist>().Where (a => letters.Any (l => a.Name.StartsWith(l)));
var-letters=new[]{“H”、“I”、“J”、“K”、“L”};
var Artists=context.GetTable(),其中(a=>letters.Any(l=>a.Name.StartsWith(l));

在SQL中,你可以使用关系运算符(
你能提供一个输入和预期结果的示例吗?@Magnus我做了一些搜索,发现linq to entities不支持正则表达式。所以我删除了答案。可能是很好的重复。我认为最快的方法。
where arti.Name.CompareTo("H") >= 0 && c.Name.CompareTo("M") < 0)