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 372
    Points
    2 372
    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 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 182
    Points : 4 496
    Points
    4 496
    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

  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 372
    Points
    2 372
    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 570
    Points
    3 570
    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

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