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

Linq Discussion :

Linq To Sql, trie sur une colonne text


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Par défaut Linq To Sql, trie sur une colonne text
    Salut a tous
    Je souhaite faire un trie dans ma requête Linq, sur un champs qui est en type "text" dans la base sql server. Mais j'ai un message d'erreur. Est-ce possible ?

    Sinon dois-je transformer le résultat de ma requête linq en list, puis faire le tri ?

    Une expression order by ne peut contenir que des scalaires non constantes comparables par ordre par le serveur. L'expression de type 'Text' n'est pas comparable par ordre.
    Merci

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Linq to SQL va traduire ta requête en requête SQL. Mais SQL server (Même DENALI) ne peut pas utiliser un champ TEXT (ou NTEXT, image,...) dans un orderby. D'ou l'erreur.

    Il faut absolument que ce soit un champ text?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas utiliser nvarchar(max) comme type de données au lieu de Text ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Par défaut
    Dans quel cas faut-il utiliser un text, et dans quel cas un nvarchar(max) ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Les deux permettent de stocker des chaines de caractères c'est évident.
    Utiliser nvarchar ou varchar avec qui on peut appliquer un order by alors qu'avec un text ou ntext cela est impossible d'où ton erreur.
    Bref tu veux utiliser du texte et vu que tu ne connais la longueur exacte alors je te conseille de mettre nvarchar(max).

    Sinon ce lien t'aidera à mieux comprendre les différences.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création d'index sur une colonne TEXT
    Par AyManoVic dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/08/2010, 00h12
  2. [MySQL] Problème de trie sur une colonne date
    Par vince851 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 28/04/2010, 11h02
  3. Réponses: 2
    Dernier message: 02/03/2010, 23h32
  4. Pb de cast sur une colonne text
    Par gaston2 dans le forum Développement
    Réponses: 2
    Dernier message: 23/10/2008, 21h52
  5. Comment afficher une colonne text de SQL-server?
    Par oravelon dans le forum ASP
    Réponses: 2
    Dernier message: 18/08/2005, 09h11

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