【问题标题】:LIKE query with underscore (_) using Entity Framework & Sqlite使用 Entity Framework 和 Sqlite 使用下划线 (_) 进行 LIKE 查询
【发布时间】:2018-02-01 11:47:59
【问题描述】:

我使用 Entity Framework 和 Sqlite 数据库并想编写一个 LINQ 查询来查找带有 LIKE 运算符和下划线的适当字符串。 比如查询

select * from myTable where myTable.myColumn LIKE "text _"

怎么做?

谢谢。

【问题讨论】:

    标签: c# entity-framework linq sqlite sql-like


    【解决方案1】:

    要留在 LINQ 中,您需要从支持的操作中逻辑组合查询:

    var ans = from mt in myTable where mt.myColumn.StartsWith("text ") && mt.myColumn.Length == 6 select mt;
    

    或者,您可以使用 Entity SQL 并从 SQL 语法中编写 where:

    var ans = db.myTable.Where("it.myColumn LIKE 'text _'");
    

    假设 SQLite EF 提供程序支持实体 SQL(我找不到确认)。

    【讨论】:

      【解决方案2】:

      你可以使用这个代码

      var m = from s in db.m
                    where SqlMethods.Like(s.FullName, "%"+FirstName+"%,"+LastName)
                    select s;
      

      参考:SQL Methods

      【讨论】:

      • 这是否适用于原始问题引用的 sqlite?我以为它只支持 MS SQL Server。
      • 不,它只是支持你提到的 MS SQL,对不起,我看错了这个问题!
      猜你喜欢
      • 1970-01-01
      • 2014-04-05
      • 2016-08-21
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多