Lit*_*ait 7 servicestack ormlite-servicestack
我是LINQ和OrmLite/MySql的新手.我有一个服务请求参数,需要导致where子句:
`Name` LIKE '%something%' OR `Name` LIKE '%something%else%'
Run Code Online (Sandbox Code Playgroud)
我知道我可以创建一个IN()或一个=条款,通过:
ev.Where(rn => Sql.In(rn.Name, request.Name)); // Assuming an array here
ev.Where(rn => rn.Name== request.Name));
Run Code Online (Sandbox Code Playgroud)
但我似乎无法找到一个让我建立起来的结构LIKE.另外,Name实际上是一个别名,所以我试图避免手动构造where子句.
您可以使用 来构建该特定示例Contains,即:
ev.Where(rn => rn.Contains(rn.Name, "something")
|| rn.Contains(rn.Name, "something%else"));
Run Code Online (Sandbox Code Playgroud)
StartsWith和EndsWith通常在 LINQ 中用于生成LIKE仅在一端带有通配符的子句(但似乎 MySql 方言的定义StartsWith有些不同,可能是为了提高效率。)
您可以检查默认方言源代码EndsWith以确认为和生成的内容Contains。
| 归档时间: |
|
| 查看次数: |
1375 次 |
| 最近记录: |