【问题标题】:Use Like in Linq query EF Core [duplicate]在 Linq 查询 EF Core 中使用 Like [重复]
【发布时间】:2019-12-17 08:20:36
【问题描述】:

我在 EF Core 应用程序中有以下方法

    public List<Prj_Detail> GetByOrg(string org)
    {
        var data = _context.Prj_Details.Where(w => w.Account_Name == org).ToList();
        return data;
    }

这里不是==,我需要检查Like,我该如何在我的方法中做到这一点

【问题讨论】:

    标签: c# asp.net-mvc linq entity-framework-core ef-core-2.0


    【解决方案1】:

    您是否尝试过使用Contains

    var data = _context.Prj_Details.Where(w => w.Account_Name.Contains(org)).ToList();
    

    您也可以使用StartsWithEndsWith

    Here's有关它的更多信息。

    【讨论】:

      【解决方案2】:

      可以尝试用包含来过滤。

      请参考以下代码。 取决于 LeftRim/RightTrim/upperCase/LowerCase

          public List<Prj_Detail> GetByOrg(string org)
          {
              var data = _context.Prj_Details.Where(w => w.Account_Name.Contains(org)).ToList();
              return data;
          }
      

      【讨论】:

        【解决方案3】:

        正如其他人所说,您可以使用Contains 运算符,但在某些情况下,这会导致不必要的 TSQL 转换。相反,您可以像这样使用内置的实体框架功能:

        _context.Prj_Details.Where(EF.Functions.Like(w.Account_Name, org)).ToList();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-03-29
          • 2020-01-25
          • 2021-05-03
          • 2021-02-22
          • 2019-03-27
          • 2017-06-27
          • 1970-01-01
          相关资源
          最近更新 更多