我有这样的功能
public List<Entry> GetEntriesForSlider(int first, int max, List<string> NameLetters)
{
//Some code
}
在这段代码中,我想在数据库中搜索,以返回名字以 NameLetters 中的字母开头的每个结果。
所以如果我传入数组NameLetters = ["a","b","c"]
然后它将返回结果,例如
Amy
Bert
Aaron
Chris
应该注意的是,理想情况下,我希望使用某种 linq 语句,例如...
entries.Where(x => x.FirstName.StartsWith(partofArray));
如果可能的话。
编辑:我以前有以下内容:
var entries = _repository.All<Entry>().Skip(first).Take(max);
if (NameLetters != null && NameLetters.Count > 0)
entries = entries.Where(x => NameLetters.Contains(x.FirstName[0].ToString()));
但我发现,它在运行 where 语句之前枚举了查询(我认为)。可能是因为试图访问 firstname 的第一个字母(或 ToString)。