J'essaie de récupérer une liste de chaîne où elle contient "Britney Spears", et c'est ce que j'utilise qui fonctionne bien, mais si je veux sélectionner le titre qui est "Britney Jean Spears", "Spears" de Britney 'Sexy Ça ne fonctionne pas, alors ma question est de savoir comment insérer un "%" vitrant entre Britney Spears tout en effectuant une recherche Linq2SQL? Merci. P> Cordialement,
Andy. P> p>
3 Réponses :
Faites exactement comme vous le feriez avec droit SQL
Vous pouvez fournir des caractères spéciaux avec la clause Je ne l'ai pas testé, mais il doit exécuter les deux premières conditions du côté SQL Server, puis affiner à l'aide de Regex . p> p> comme code> tel que "", "%" et "[]" p> < P> Si cela n'est pas assez bon, vous pouvez utiliser RegEx, mais faites attention à ce que RegEx soit exécuté «client» au-dessous, c'est-à-dire qu'il va chercher le tout puis essaier de réduire les résultats en mémoire. Vous pouvez quelque peu optimiser la méthode des zerkms en faisant p>
Cela ne fonctionnera pas avec LINQ2SQL; Vous devrez appeler asenumerable code> avant d'appliquer la regex.
Il suffit d'utiliser Sinon, vous pouvez exécuter une requête directement si vous avez un motif plus complexe. P> startswith () code> et findien () code> pour simuler le motif. AFAIK, LINQ-TO-SQL ne prend pas en charge les caractères génériques. db.ExecuteQuery<MyObject>("SELECT * "
+ "FROM Objects "
+ "WHERE Title LIKE 'Britney%Spears'");
Vous pouvez utiliser SQLMMETHODS.LIQue Code> Méthode à cette fin.
from p in Objects where SqlMethods.Like(p.Title, "Britney% Spears") select p
Oh c'est une alternative beaucoup plus agréable.
Merci beaucoup, c'est très utile.