我正在使用 linq to sql 开发一个(快速而肮脏的)搜索引擎。我已经有一个字符串表,其中包含我想在每个条目的描述中搜索的每个单词。
在我的 linq to sql 进程结束时,我应该只获取包含表中所有单词的条目。这是我到目前为止的代码(m1是我的字符串表):
var myUser = from u in dataBase.Profiles
where u.Status == 2 // some primary selection
select u;
foreach (string word in m1)
{
myUser = from u in myUser
where ((word != "") ? u.Description.Contains(word) : 1 == 1)
select u;
}
myUser = from u in myUser
orderby u.ModificationDate descending // finally, we order the list
select u;
此代码运行良好,但遗憾的是,它不会选择包含两个单词的条目,而是选择包含至少一个单词的所有条目。
你能明白为什么吗?我不 : /