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 :

Acces aux données sur plusieurs tables


Sujet :

Linq

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Acces aux données sur plusieurs tables
    Bonjour,

    Je développe sous Visual Studio 2010 Beta 2, avec la framework 4.0, entity framework 4, silverlight 4, sql server 2008 ca c'est pour l'architecture .

    J'ai un soucis, avec 2 solutions qui devraient le résoudre, en théorie, ce qui n'est pas le cas malheureusement pour moi.

    1ER :

    Requête purement en Linq :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    contexte ctx = new contexte();
    var test = (from cli1 in ctx.client.Include("voiture")  
                   where cli1.id == 4
                   select cli1).FirstOrDefault();
    Le résultat de la requête est bon, il me retourne bien ce que je souhaite, mais le soucis étant dans la "navigation properties" de l'entity framework,
    j'ai une base d'une 100taine de tables, ce qui me génére plus d'une 100taine de requête que je vois passer dans le Sql Profiler, ce qui alourdit fortement le serveur.
    C'est pourquoi j'ai mis cette solution de coté et je suis passé a la seconde qui suit.

    2eme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    string req = string.Format("Select * from client cli, voiture voi where cli.voi_id = voi.id and cli.id = 4 ");
    IEnumerable<test> result= ExecuteStoreQuery<test>(req);
    return result.ToList();
    Cette solution marche si mon type est une interface de client et voiture, mais cet exemple est assez simple, j'ai des requêtes beaucoup plus complexe et j'aimerai éviter d'avoir à écrire des interface pour chaque requête que j'effectue, est ce qu'il existe une solution pour contrer cela?

    Je ne sais pas si j'ai été très claire, en tout cas merci pour les futures réponses.

  2. #2
    Membre à l'essai
    Profil pro
    chef de prjet
    Inscrit en
    Avril 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : chef de prjet

    Informations forums :
    Inscription : Avril 2010
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par Scoha

    Le résultat de la requête est bon, il me retourne bien ce que je souhaite, mais le soucis étant dans la "navigation properties" de l'entity framework,

    Bonjour,

    Je me permets de relancer la discussion, car j'ai plus ou moins le même soucis.

    Es-ce-que c'est possible de limiter la navigation qu'à n étages ?

    Merci

Discussions similaires

  1. Pas d'accès aux données sur téléphone
    Par Willy55 dans le forum Android
    Réponses: 7
    Dernier message: 30/05/2012, 15h32
  2. [Débutant] Affichage de données sur plusieurs tables.
    Par a.floranc dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/12/2011, 14h11
  3. Réponses: 4
    Dernier message: 19/06/2008, 14h58
  4. Affichage de données sur plusieurs tables
    Par urbalk dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/04/2007, 09h31
  5. problème d'accès aux données sur serveur par poste client
    Par rahan_dave dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/02/2006, 09h13

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