Bonjour,
je n'arrive pas à trouver d'exemple pour un model d'une association porteuse de données en Code First.
(je trouve que des many to many simple)
Quelqu'un peut il m'expliquer comment on fait ?
merci
Bonjour,
je n'arrive pas à trouver d'exemple pour un model d'une association porteuse de données en Code First.
(je trouve que des many to many simple)
Quelqu'un peut il m'expliquer comment on fait ?
merci
Voici un exemple, qui vient de ma formation EF : des acteurs et des films liés par une relation n-n, que j'ai nommée "performance", porteuse du cachet de l'acteur, mais tu pourrais y ajouter l'évaluation de sa performance par les magazines par exemple.
Tu ne devrais pas avoir besoin d'expliciter la configuration, Code First devrait le comprendre seul.
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public partial class Movie { public Movie() { this.Performances = new HashSet<Performance>(); } public int Id { get; set; } public string Title { get; set; } public virtual ICollection<performance> Performances { get; set; } } public partial class Actor { public Actor() { this.Performances = new HashSet<Performance>(); } public int Id { get; set; } public string Name { get; set; } public virtual ICollection<Performance> Performances { get; set; } } public partial class Performance { public int Movie_id { get; set; } public int Actor_id { get; set; } public int Fee { get; set; } public virtual Actor Actor { get; set; } public virtual Movie Movie { get; set; } }
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
merci pour cet exemple
j'ai toutefois été obligée d'indiquer le mappage dans une table de mapping qui porte le nom de l'association
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
21 public class ET_P_R_COMPANY_AXE_ANALYSE_2Map : EntityTypeConfiguration<CompanyAxeAnalyse2> { public ET_P_R_COMPANY_AXE_ANALYSE_2Map() { // Properties // Mapping de la table et des colonnes this.ToTable("ET_P_R_COMPANY_AXE_ANALYSE_2"); this.Property(t => t.FkCompany).HasColumnName("FK_COMPANY"); this.Property(t => t.FkAxeAnalyse2).HasColumnName("FK_AXE_ANALYSE_2"); // Relationships this.HasRequired(t => t.Company) .WithMany(t => t.CompanyAxeAnalyse2List) .HasForeignKey(d => d.FkCompany); this.HasRequired(t => t.AxeAnalyse2) .WithMany(t => t.AxeAnalyse2CompanyList) .HasForeignKey(d => d.FkAxeAnalyse2); } }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager