I am new to LINQ and OrmLite/MySql. I have a service request argument that needs to result in a where clause:
`Name` LIKE '%something%' OR `Name` LIKE '%something%else%'
I know I can create an IN() or an = clause, via:
ev.Where(rn => Sql.In(rn.Name, request.Name)); // Assuming an array here
ev.Where(rn => rn.Name== request.Name));
But I can’t seem to find a construct that lets me build up a LIKE. Also, Name is actually an alias so I am trying to avoid constructing the where clause manually.
You can build that particular example using
Contains, i.e:StartsWithandEndsWithare generally used in LINQ to generateLIKEclauses with a wildcard at only one end (but it does appear the MySql dialect definesStartsWithsomewhat differently, likely for efficiency.)You can check the default dialect source code to confirm what gets generated for
EndsWithandContains.