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

Entity Framework Discussion :

Difficulté sur requète linq to entity


Sujet :

Entity Framework

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Difficulté sur requète linq to entity
    Bonjour à tous,

    Je développe actuellement un logiciel de gestion des temps. A travers celui-ci j'ai créé une fenêtre d'analyse des prestations. Les info des prestations sont donc récupérées via une requête linq to entity.

    l'utilisateur a huit filtres a disposition pour analyser les prestations.
    Je voudrait, si il est possible, travailler avec une seul requête sur la base de donnée.

    j'ai écrit la requête pour gérer la récupération des huit filtres activé.

    Maitenant, je voudrais pouvoir la modifier pour la réutiliser pour des choix de filtres activé et non activé. I a t'il un moyen de "dynamiser" la requête pour que la close WHERE se modifie suivant les propriété de la méthode ?

    Ou suis-je complètement a coté de la plaque ?


    voici la méthode:

    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
    20
    21
    public static List<PrestationInfo> GetListAnalysePrestationFiltree(string Prestataire, string Tiers, string Activite, DateTime Deb_Periode, DateTime Fin_Periode
                                                                               , int Duree_Min,int Duree_Max, bool Facturable, string Etat, string Remarque)
            {
                return (from table in ManagerBD.ContexteDonnees.Prestations
                        where  table.Debut > Deb_Periode && table.Debut < Fin_Periode && table.Prestataires.Nom == Prestataire && 
                              table.Tiers.Nom == Tiers && table.Activites.Nom == Activite && table.Facturable == Facturable && table.Remarque == Remarque
                        select new PrestationInfo
                        {
                            NumClient = table.Tiers.NumClient,
                            NomClient = table.Tiers.Nom,
                            NumPrestation = table.NumPrestation,
                            Remarque = table.Remarque,
                            Debut = table.Debut,
                            Fin = table.Fin,
                            NomActivite = table.Activites.Nom,
                            NumActivite = table.Activites.NumActivite,
                            NomMission = table.Missions.Nom,
                            NomPrestataire = table.Prestataires.Nom
     
                        }).ToList();
            }
    En vous remerciant d'avance.

    Et bonne journée

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    tu peux filtrer à nouveau ta liste résultante, par exemple si tu veux filtrer les prestataires quand ils sont spécifiés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    List<PrestationInfo> infos = GetListAnalysePrestation();
    if (!string.IsNullOrEmpty(Prestataire))
       infos = infos.Where(i => i.Prestataires.Nom == Prestataire).ToList();

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Merci d'avoir pris le temps de réponde

    On pourrait donc filtrer une seconde fois la liste résultante et retourner "infos" comme valeur.

    Je pourrais appliquer ça directement dans ma méthode GetListAnalysePrestationFiltree ou dois-je passer par une nouvelle méthode ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    oui tu peux faire ça directement dans ta méthode et filtrer un milliers de fois ta liste s'il t'en prenais l'envie

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Problème résolu,

    Merci encore !

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

Discussions similaires

  1. Requête Linq to entities
    Par solika dans le forum Entity Framework
    Réponses: 1
    Dernier message: 19/11/2013, 17h56
  2. Réponses: 4
    Dernier message: 21/03/2012, 13h34
  3. Lenteur sur requête LINQ
    Par sisi37 dans le forum Linq
    Réponses: 1
    Dernier message: 27/10/2010, 10h26
  4. Difficulté sur requête
    Par deleterz dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 18/08/2010, 10h22
  5. Réponses: 0
    Dernier message: 29/04/2009, 16h35

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