【问题标题】:Linq query through database with every word [duplicate]Linq通过数据库查询每个单词[重复]
【发布时间】:2017-05-03 08:05:45
【问题描述】:

我可以向您展示我想要达到的最佳效果就是举个例子。

假设用户输入了一个搜索语句,例如“Microsoft Exchange Server”。 所以我的 SQL 查询如下:

SELECT * FROM tbl_Skills
WHERE Line5 LIKE '%Microsoft%' AND Line5 LIKE '%Exchange%' AND Line5 LIKE '%Server%';

所以它在 Linq 中看起来如下:

.Where(x => x.Line5.Contains("Microsoft") && x.Line5.Contains("Exchange")&& x.Line5.Contains("Server")).ToList();

问题是我不知道用户在查询中输入了多少字。那么我将如何使用 x 个单词执行该查询。查询必须是 AND 搜索。

【问题讨论】:

    标签: c# sql linq


    【解决方案1】:

    Where 中,您可以针对动态用户单词列表使用All

    var userWords = new[] { "Microsoft", "Exchange", "Server" };
    var selected = tbl_Skills.Where(x => userWords.All(w => x.Line5.Contains(w)));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2019-12-08
      • 2010-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多