【问题标题】:.NET Dynamic Search Function.NET 动态搜索功能
【发布时间】:2016-10-02 15:22:26
【问题描述】:

我正在尝试创建一个搜索函数,该函数将从数据库中读取以查看多个列并返回是否已使用所有关键字(以空格分隔)。

目前我有很多东西

db.Persons.Where(
 q=> 
    (keywords.Count() > 0)
    ||
    (
        keywords.Any(k => k.firstName.ToUpper().Contains(k)
        ||
        keywords.Any(k => k.lastName.ToUpper().Contains(k)
        ||
        keywords.Any(k => k.address.ToUpper().Contains(k)
    )
   )

但是,我希望它确保每个关键字都在至少一列中。这在 LINQ 中是否可行,还是我需要在外部循环?

【问题讨论】:

    标签: c# .net linq search dynamic


    【解决方案1】:

    怎么样:

    db.Persons.Where(q =>
        {
            string[] values = new string[] { q.firstName, q.lastName, q.address };
            return keywords.All(k => values.Any(v => v.ToUpper().Contains(k));
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 2015-03-21
      相关资源
      最近更新 更多