查找包含linq的所有文章
本文关键字:文章 包含 linq 查找 | 更新日期: 2023-09-27 18:10:47
尝试学习Linq,但在这里碰壁。
我试图找到包含多个字符串的所有文章,但不确定如何使用。包含在传递列表时。
private void SearchArticles()
{
AdminEntities db = new AdminEntities();
var searchStrs = new List<string> {"search_string1", "search_string2"};
var artListfull = db.view_M02Articles_SearchPublished(0, "").ToList();
var artList = artListfull.FindAll(n => n.Bodytext.Contains(searchStrs));
Label1.Text = artList.Count.ToString();
Repeater1.DataSource = artList;
Repeater1.DataBind();
}
这里的正确语法是什么?
[Edit]假设BodyText
为string
类型
你可以试试:
//the article body must contain "ALL" the search terms
var artList = artListfull.Where(art => searchStrs.All(art.BodyText.Contains));
或
//the article body must contain "At least one" of the search terms
var artList = artListfull.Where(art => searchStrs.Any(art.BodyText.Contains));
[编辑2]替换由art.BodyText.Contains
str => art.BodyText.Contains(str)
With
var artList= (from art in artFullList
from search in searchStrs
where art.Bodytext.Contains(search)
select art).ToList();
var artList = artListfull.Where(a => searchStrs.Any(s => a.Bodytext.Contains(s)))
.ToList();