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 :

Fonction + Linq


Sujet :

Linq

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Par défaut Fonction + Linq
    Bonjour,

    je travaille actuellement sur un petit projet, et j'ai choisi d'utiliser C# et Linq.

    Mon problème est sûrement tout bête, mais je n'ai pas trouvé la solution sur Google ou sur le forum, et çà m'embête tellement çà doit être tout con.

    Actuellement j'ai çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var req = from m in Articles.dsArticles.MODELE
                 where m.DSGMOD == dsgmod
                 select new
                 {
                     Nummod = m.NUMMOD
                 };
    foreach (var r in req)
    {
        nummod = r.Nummod;
    }
    et j'aimerai plutot utiliser une fonction renvoyant le resultat de la requete Linq, du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    private static ????? retourneValeur() {
     
         var req = from m in Articles.dsArticles.MODELE
                                  where m.DSGMOD == dsgmod
                                  select new
                                  {
                                      Nummod = m.NUMMOD
                                  };
         return req;
    }
     
    public static void main() {
        var res = retourneValeur();
        foreach (var r in res)
        {
            nummod = r.Nummod;
        }
    }
    Si quelqu'un avait une solution à m'apporter, çà serait vraiment très sympa, merci à tous.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Tu ne peux pas faire ca normalement: étant donné que tu ne connais pas le type à renvoyé (var).

    J'ai vu récemment une solution pour le faire mais je ne la retrouve plus

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Par défaut
    Merci beaucoup pour ta réponse si rapide !!!

    Faut absolument que je trouve une solution, car j'aimerai adopter une structure MVC, et que donc les requêtes soient dans un fichier .cs autre que le main.

    Merci encore en tout cas, si jamais tu retrouves, jsuis plus que preneur, car sur le net, j'ai rien trouvé, à croire que c'est tellement con comme soluce que tout le monde sait le faire sauf moi

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut.

    Essai de renvoyer un IEnumarable<MonTypeD'object> , normalement, ça passe quitte à faire un

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Par défaut
    J'ai pas LINQ sous la main, donc je ne peux pas tester, mais de tête je pense que ça peut passer en retournant un IQuerytable .

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Mai 2007
    Messages : 22
    Par défaut
    Keihilin, pour le IQueryable, çà ne semble pas fonctionner, j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static IQueryable essai(Int32 nummod)
            {
                var req = from m in Articles.dsArticles.MODELE
                          where m.NUMMOD == nummod
                          select new
                          {
                              Dsgmod = m.DSGMOD
                          };
                return req;
            }
    Celà me renvoie l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cannot implicitly convert type 'System.Data.EnumerableRowCollection<AnonymousType#1>' to 'System.Linq.IQueryable'. An explicit conversion exists (are you missing a cast?)
    Je vais tester la solution de dev01 après le repas, je vous tiens bien entendu au courant Merci beaucoup.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/01/2012, 15h32
  2. Fonction pour une liste avec XML to Linq
    Par Pelote2012 dans le forum Linq
    Réponses: 5
    Dernier message: 24/01/2012, 17h55
  3. Réponses: 8
    Dernier message: 12/04/2011, 21h39
  4. Réponses: 1
    Dernier message: 08/12/2009, 11h18

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