Comment puis-je générer des caractères génériques dans mon expression LINQ To SQL lambda?LINQ to SQL Wildcards
C'est ce que j'ai actuellement:
var query = from log in context.Logs select log;
foreach (string filter in CustomReport.ExtColsToFilter)
{
string tempFilter = filter;
query = query.Where(Log => Log.FormattedMessage.Contains(tempFilter));
}
Cela fonctionne bien jusqu'à ce que j'essaie de passer des caractères génériques dans la chaîne de filtre. J'expérimente avec SqlMethods.Like()
mais en vain. Les filtres ci-dessus ressemblent à ceci: "<key>NID</key><value>mcass</value>"
.
Je voudrais être en mesure de passer les filtres comme ceci: "<key>NID</key><value>%m%</value>"
'SqlMethods.Like' devrait fonctionner. Quel est le résultat lorsque vous l'essayez? – Thorarin
@Thorarin Le SQL résultant est le même que le .Contains() SQL. Peut-être que je dois me concentrer davantage sur l'incorporation de caractères génériques? – mcass20
juste pour être clair, passez-vous à '" NID % m% "' à 'SqlMethods.Like' et obtenez toujours le même résultat que vous étiez sans les caractères génériques'% '? –