none
Selectionner dans une liste quelques attributs d'une entité avec LINQ RRS feed

  • Question

  • Bonjour à Tous,

    J'écris une procédure afin de pourvoir sélectionner quelques attributs de mon entité Agents{AgentMatriclue,... Login, MotDePasse...}. Je voudrais retourner au travers d'une requête le Login et le MotDePasse d'un agent en passant en paramètre le Matricule de celui-ci. Pour ce faire, j'ai écris cette requête:

     public List< Agent> GetLoginAgent(string aAgentMatricule)
            {
    
                return (from oAgent in ContexteDAO.ContexteDonnees.Agents where oAgent.AgentMatricule == aAgentMatricule
                             select  new {oAgent.Login,oAgent.MotDePasse});
                                            
    
                
               
            }

    Lorsque que je l'écris, j'ai ce message d'erreur qui s'affiche:
    Erreur	1	Impossible de convertir implicitement le type 'System.Linq.IQueryable<AnonymousType#1>' en 'System.Collections.Generic.List<EnrePaxDAO.Agent>'. Une conversion explicite existe (un cast est-il manquant ?)	D:\WebSites\Enre_Pax\EnrePaxDAO\EnrePaxDAO\MesClasses\Agent.cs	149	26	EnrePaxDAO
    
    Je n'arrive pas à corriger l'erreur. Merci de m'aider.

    lundi 20 janvier 2014 10:43

Réponses

  • Bonjour,

    Essayez plustôt au niveau du return :

    return (
    from oAgent in ContexteDAO.ContexteDonnees.Agents
    where oAgent.AgentMatricule == aAgentMatricule
    select new Agent { Login = oAgent.Login, MotDePasse = oAgent.MotDePasse});
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 20 janvier 2014 23:08
    Modérateur

Toutes les réponses

  • Bonjour,

    Essayez plustôt au niveau du return :

    return (
    from oAgent in ContexteDAO.ContexteDonnees.Agents
    where oAgent.AgentMatricule == aAgentMatricule
    select new Agent { Login = oAgent.Login, MotDePasse = oAgent.MotDePasse});
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    lundi 20 janvier 2014 23:08
    Modérateur
  • Bonsoir,

    Grand Merci à mon professeur, votre Solution marche.

    mardi 21 janvier 2014 00:40