Précédent   Forum du club des développeurs et IT Pro > Dotnet > Accès aux données > Entity Framework
Entity Framework Forum d'entraide sur le développement avec le modèle d'accès aux données Entity Framework de Microsoft.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/11/2012, 14h34   #1
alex_vino
Membre Expert
 
Homme Gilles Vino
Software Developer
Inscription : mars 2008
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Homme Gilles Vino
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Software Developer

Informations forums :
Inscription : mars 2008
Messages : 1 305
Points : 2 290
Points : 2 290
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 :
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.
alex_vino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2012, 15h01   #2
BenoitM
Expert Confirmé
 
Homme Benoît
Inscription : février 2003
Messages : 1 658
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Âge : 32
Localisation : Belgique

Informations forums :
Inscription : février 2003
Messages : 1 658
Points : 2 783
Points : 2 783
Je connais pas EF mais avec Album 1 , tu peux aller lire Artiste plus tard.

Code :
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 :
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
BenoitM est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/11/2012, 22h38   #3
alex_vino
Membre Expert
 
Homme Gilles Vino
Software Developer
Inscription : mars 2008
Messages : 1 305
Détails du profil
Informations personnelles :
Nom : Homme Gilles Vino
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Software Developer

Informations forums :
Inscription : mars 2008
Messages : 1 305
Points : 2 290
Points : 2 290
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 :
public virtual Artiste Artiste { get; set; }
Je me demande si c'est pas une question de nouvelle/ancienne notation.
alex_vino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/11/2012, 08h43   #4
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 343
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 343
Points : 2 847
Points : 2 847
Envoyer un message via MSN à GuruuMeditation
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 : Visual C#

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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h06.


 
 
 
 
Partenaires

Hébergement Web