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 :

Différences entre 2 classes simples - Clés étrangeres


Sujet :

Entity Framework

  1. #1
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut Différences entre 2 classes simples - Clés étrangeres
    Bonjour,

    Je me pose la question suivante concernant Entity Framework 5:
    Qu'elle sont les différences entre les 2 classes suivantes (Album1 et Album2)?

    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
    public class Album1
    {
        public int Id { get; set; }
        public string Titre { get; set; }
        public int ArtisteId { get; set; }
        public virtual Artiste Artiste { get; set; }
    }
     
    public class Album2
    {
        public int Id { get; set; }
        public string Titre { get; set; }
        public Artiste Artiste { get; set; }
    }
     
    public class Artiste
    {
        public int Id { get; set; }
        public string Nom { get; set; }
    }
    Est-ce que c'est exactement pareil, différence de performance, d'utilisation, concurrence... ?

    Merci pour vos conseils.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Je connais pas EF mais avec Album 1 , tu peux aller lire Artiste plus tard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Album1 = GetLazyAlbum1(Id)  // Lecture Table Album
    Album1.Artiste = GetArtiste(Album1.ArtisteId) //Lecture Table Artiste
    Avec Album2 tu devras relire la partie Album
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Album2 = GetLazyAlbum2(Id) // Lecture Table Album
    Album2 = GetFullAlbum2(Id) // Lecture Table Album + Table Artiste
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut
    Donc d'apres toi Album1 permet le lazy/eager -loading alors que Album2 ne le permet pas?

    Dans les documentations sur Entity Framework il est dit que le mot-cle "virtual" permet par defaut d'utiliser le lazy-loading, comme par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public virtual Artiste Artiste { get; set; }
    Je me demande si c'est pas une question de nouvelle/ancienne notation.

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Pour les POCO, quand une propriété est Virtual, elle peut être overridée par EF avec un proxy. http://msdn.microsoft.com/en-us/data/jj592886.aspx
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

Discussions similaires

  1. Différence entre attributs class et id
    Par alex2746 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/05/2010, 23h41
  2. débutant, différence entre modules, classes et bibliothèque
    Par velight dans le forum Général Python
    Réponses: 1
    Dernier message: 16/02/2009, 14h06
  3. Différences entre if à condition simples et conditions multiples
    Par Jimalexp dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 20/01/2009, 07h24
  4. Différence entre une image simple et une image 3D
    Par katebe dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 29/08/2008, 18h03
  5. Réponses: 3
    Dernier message: 21/03/2008, 09h45

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