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 :

Utilisation de last et any


Sujet :

Entity Framework

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 315
    Points : 184
    Points
    184
    Par défaut Utilisation de last et any
    bonjour,

    j'ai cette ligne de code :

    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    context.Personne.Where(Function(x) x.DemandeLogement.Any(Function(y) y.CritereRecherche.CritereRecherche_TypeHabitation.Any(Function(z) z.IdTypeHabitation = CLng(item)))).ToList

    À la place du Any, j'aimerai Utiliser Last.
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    context.Personne.Where(Function(x) x.DemandeLogement.Last.CritereRecherche.CritereRecherche_TypeHabitation.Any(Function(z) z.IdTypeHabitation = CLng(item))).ToList
    Seulement le compilateur me dit :

    LINQ to Entities does not recognize the method 'Gestion_Demande_Logement_CPAS.DemandeLogement Last[DemandeLogement](System.Collections.Generic.IEnumerable`1[Gestion_Demande_Logement_CPAS.DemandeLogement])' method, and this method cannot be translated into a store expression
    Je ne comprend pas pourquoi je ne peux pas faire ma recherche sur le dernier élément de DemandeLogement dans la première clause Where.


    Ma question est : comment dois-je m'y prendre.

  2. #2
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2013
    Messages : 312
    Points : 1 208
    Points
    1 208
    Par défaut
    Salut,

    Le plus simple quand on débute avec linq et de s'imaginer ce que signifie les expressions qu'on utilise.

    Par exemple dans ton cas, ta première instruction signifie :

    "Je veux toutes les personnes dont au moins une demande de logement à dans ses critères de recherche sur le type d'habitation celui que je passe en parametre"

    Tu ne précise pas quel "Any" tu veux remplacer mais je suppose qu'il s'agit du premier vu que remplacer le deuxieme me semble pas d'un intéret délirant.

    Ca veut dire donc que ton instruction doit signifier :

    "Je veux toutes les personnes dont la dernière demande de logement à dans ses critères de recherche sur le type d'habitation celui que je passe en parametre"

    Ca qui niveau lambda donnerai un truc comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    context.Personne.Where(Function(x) x.DemandeLogement.Last().CritereRecherche.CritereRecherche_TypeHabitation.Any(Function(z) z.IdTypeHabitation = CLng(item)))).ToList
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  3. #3
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 315
    Points : 184
    Points
    184
    Par défaut
    Bonjour Momoth,

    Merci pour ton intervention. Cela m'aide à mieux visualiser la requête linq d'Entity.
    J'arrive à la même solution que tu proposes

    Je clos le post en résolu.

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

Discussions similaires

  1. [Débutant] utilisation any ?
    Par membreComplexe12 dans le forum MATLAB
    Réponses: 3
    Dernier message: 27/07/2012, 09h51
  2. Utilisation de ANY sur une sélection d'identifiants aléatoires
    Par Rocky Turquoise dans le forum Requêtes
    Réponses: 0
    Dernier message: 03/12/2011, 17h08
  3. Réponses: 2
    Dernier message: 06/07/2007, 20h03
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 13h36

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