需要“喜欢”条款
我是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"));
StartsWith
和EndsWith
通常在LINQ中用于在一端生成带有通配符的LIKE
子句(但它确实出现MySql方言定义StartsWith
有点不同,可能会提高效率。)
您可以检查默认的方言源代码,以确认为EndsWith
和Contains
生成的内容。
上一篇: need "like" clause