IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Linq contains case insensitive


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut Linq contains case insensitive
    Bonjour,

    J'ai une requête linq avec un contains et je souhaite rendre cela case insensitive pour ignorer les majuscules et aussi les ascents sur les lettre

  2. #2
    Membre émérite Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Par défaut
    Citation Envoyé par totot Voir le message
    Bonjour,

    J'ai une requête linq avec un contains et je souhaite rendre cela case insensitive pour ignorer les majuscules et aussi les ascents sur les lettre
    Salut,

    Tout dépend si tu es dans un contexte d'éxécution :

    Si ta requête Linq est sur une liste d'objet chargée en mémoire, tu peux utiliser la classe CultureInfo pour virer les accents et les CompareOptions pour ignorer la casse.

    Si ta requête Linq est destinée a être "traduite" en SQL (Par exemple, sur un DbSet), alors tu es limité aux classes retranscrissibles en SQL donc tu ne peux pas utiliser le CultureInfo ou d'autres classe du framework .Net. Dans ce cas, il faudrai comparer le string d'entrée en majuscule (ou minuscule) sans accent avec l'équivalent en base de données. Avec du Linq, ca me parrai compliqué. Je pense que ca sera moins prise de tête avec une procédure stockée.

    Je connais pas d'autres méthodes, mais je pense que des gens ont déjà du se pencher sur le sujet et ont surement trouvé une solution plus performante.

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Cote base de donne la methode .ToLower() est supportee donc une epxression comme celle ci devrias marcher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    context.Personnes.Where(p=>p.Nom.ToLower() == "rambo")

Discussions similaires

  1. String.Contains case insensitive
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 23/08/2009, 08h41
  2. Comment filtrer avec une case insensitive ?
    Par savoir dans le forum Débuter
    Réponses: 2
    Dernier message: 06/09/2007, 11h09
  3. [Hibernate] Requête avec un LIKE %% case insensitive
    Par n@n¤u dans le forum Hibernate
    Réponses: 4
    Dernier message: 21/06/2006, 17h27
  4. Réponses: 2
    Dernier message: 15/05/2006, 14h08
  5. Case insensitive methode contains()
    Par mihaestii dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 12/11/2005, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo