Problème avec linq

Signaler
Messages postés
5
Date d'inscription
dimanche 6 avril 2008
Statut
Membre
Dernière intervention
7 novembre 2008
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
bonjour


pour quelle raison le code Linq suivant retourne une exception prétendant qu'on ne peut le tradire en SQL?



      private static void DisplaySorted<K>(Func<Customer,K> selector)
        {
            NothDataContext Contexte = new NothDataContext();



            var query = from Client in Contexte.Customers
                        orderby selector(Client)
                        select Client;
        }

Je l'appelle avec :

DisplaySorted((Customer p)=>p.CompanyName);

Bien sûr j'utilise la base Northwind

merci

3 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
c'est quoi selector ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
149
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
30 janvier 2009

je connais pas mais si j'ai bien compris ca sert à passer à la fonction le champ qui sera trié. Ca peut être utile :) mais je ne peux pas t'aider :(
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
arf, j'avais mal lu ton bout de code... pfff...

donc... normalement, il faut faire :
var query = from Client in Contexte.Customers
                        orderby Client.LastName
                        select Client;

mais je ne suis pas sur qu'on puisse remplacer le orderby par un delegate...

par contre, tu peux faire

var query = from Client in Contexte.Customers
                        select Client;
query.OrderBy(selector);

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]