【问题标题】:Why does this linq query not give me expected result?为什么这个 linq 查询没有给我预期的结果?
【发布时间】:2013-12-20 09:34:34
【问题描述】:

以下查询没有给我预期的结果。我期望的是,如果任何条件都匹配,我需要所有联系人,但它并没有给我那个结果

 Func<BAL.Contact, bool> expr_contact =
            x => x.Name.NullSafeStartWith(txtSearch.Text)
          || x.ContactDetails.All(a => a.TP.StartsWith(txtSearch.Text));

我搜索了联系人姓名,但如果搜索文本与联系人详细信息不匹配,那么我得到一个空结果:(

【问题讨论】:

    标签: c# linq entity-framework ienumerable objectquery


    【解决方案1】:

    您的意思是“姓名以 X 开头.. 或 所有 联系方式以 X 开头”。您希望“姓名以 X 开头 .. 或 ANY 联系方式以 X 开头”:

    Func<BAL.Contact, bool> expr_contact =
            x => x.Name.NullSafeStartWith(txtSearch.Text)
          || x.ContactDetails.Any(a => a.TP.StartsWith(txtSearch.Text));
    //                        ^^^ Any
    

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 1970-01-01
      • 2013-11-21
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2015-10-07
      • 1970-01-01
      相关资源
      最近更新 更多