我有一个LINQ查询。我只是Linq的初学者。我想用它来自动完成。我需要将输入与字符串中单词的起始字符进行匹配。考虑这种情况。字符串的将字符串列表中的单词的第一个字符与Linq匹配
列表
1. London Corporation
2. Financial Services Industry
3. European Union Countries.
4. Derivative Securities
在上述列表中,当用户按下字符“C”则该查询应返回的值1和3中的单词的字符串匹配的字符“C” 。如果输入是'S',那么结果应该是2和4.
我试过了下面的一个。但不知道我该如何继续下一步。请任何人告诉我如何分割一个字符串中的单词并匹配输入字符。我尝试了下面的代码。
CODE
var model = (from line in db.BibContents
where line.TagNo == "020" && line.Sfld == "a" && line.Value.Split(' ').StartsWith(Val)
select new PoDetails
{
BibId = line.BibId
}).ToList();
感谢,
是的,但显示的错误是这样的:LINQ到实体无法识别方法“System.String [] Split(Char [])'方法,并且此方法不能转换为商店表达式。 – Dheyv
尝试使用'line.Value.ToString().Split('').Any(x => x.StartsWith(Val))'(抱歉 - 如果没有前面的代码,这很难调试)。如果失败,请参阅http://stackoverflow.com/questions/8653200/split-string-with-linq –
P.S.你可以随时调试你的Fluent API chans,就像'var part1 = line.Value.Split('');'然后'var part2 = part1.Any(x => x.StartsWith(Val));''并使用具有断点的'F10'来在它们之间进行切换。 –