我有一种情况,我有表中的关键字列包含逗号分隔的关键字。用户可以提供多个搜索条件以在关键字列中进行搜索。例如,用户提供了下面的搜索条件“一,二,三”,并且db列可以包含“one”,“two”,“three”或其中任何一个。我该如何编写一个与任何提供的搜索词相匹配的查询。Linq多关键字搜索
我曾尝试以下
string[] searchTerm = {"one","two","three"};
query =Product.Where(p=> searchTerm.Any(val => p.Keywords.Contains(val)));
和
var query=db.Products;
foreach (string searchword in searchTerm)
{
query = query.Where(c => c.Keywords.Contains(searchword));
}
,但它不是为我工作。
谢谢,
嗯,你的数据库是不正确d esigned。不应该有任何格式的包含列表的列。您应该创建一个新表,其中包含关键字并且具有原始表的外键。 – svick