需要“喜欢”条款

我是LINQ和OrmLite / MySql的新手。 我有一个服务请求参数需要导致一个where子句:

`Name` LIKE '%something%' OR `Name` LIKE '%something%else%'

我知道我可以通过以下方法创建一个IN()或一个=子句:

ev.Where(rn => Sql.In(rn.Name, request.Name));  // Assuming an array here
ev.Where(rn => rn.Name== request.Name));

但我似乎无法找到让我建立LIKE的构造。 此外, Name实际上是一个别名,所以我试图避免手动构建where子句。


您可以使用Contains构建特定示例,即:

ev.Where(rn => rn.Contains(rn.Name, "something") 
    || rn.Contains(rn.Name, "something%else"));

StartsWithEndsWith通常在LINQ中用于在一端生成带有通配符的LIKE子句(但它确实出现MySql方言定义StartsWith有点不同,可能会提高效率。)

您可以检查默认的方言源代码,以确认为EndsWithContains生成的内容。

链接地址: http://www.djcxy.com/p/11303.html

上一篇: need "like" clause

下一篇: Empty Text Node" in IE developer toolbar