【发布时间】:2015-08-22 19:38:31
【问题描述】:
一直在为此苦苦挣扎,不知道如何实施。似乎很容易。
我有一个包含多个关键字的搜索框。然后,我将这些关键字传递给我的存储库中的 IENumerable 方法。
public IEnumerable<diss> GetDissSearch(string b)
然后我将关键字放入数组 - b 包含单词字符串并使用拆分方法。
string[] sArray = strSearchString.Split();
然后我使用 foreach 循环来遍历我的数组中的单词,但在我的 foreach 循环中,我将 linq 语句放置如下:
foreach(string s in sArray){
var myLoop = (from p in mytable
where p.userFirstName.Contains(s)
&& p.lastName.Contains(s)
select new myModel {
firstName = p.userFirstName,
lastName = p.userLastName
}).ToList();
return myLoop;
}
因此,如果用户输入两个词 - 例如,名字和姓氏,您希望该集合会被调用两次。同样,如果用户输入中间名,则集合将被调用 3 次。目前,这个集合只运行一次。
有没有办法根据我的数组中包含的关键字数量多次调用这个 ienumerable?
谢谢。
【问题讨论】:
标签: c# arrays asp.net-mvc linq