Bonjour,
J'utilise Entity Framework 4 en Database First
Je cherche à créer un système de hiérarchie entre plusieurs type d'objets.
Chacun des objets peuvent avoir plusieurs parents et plusieurs enfants.
Dans un premier temps j'ai pensé à faire une table Hierarchy afin de s’affranchir du type d'objet, puis rendre celle-ci "hiérarchisable".
Le problème est que dans ce cas je n'arrive pas à identifier dans le code les parents et les enfants car EF fait un lien direct.
C'est bien normal, mais je souhaiterais pour voir décider de passer par l'ID de mon choix (Hierarchy_idHierarchy ou Hierarchy_idHierarchy1 )
Je pourrais dans ce cas dire de que Hierarchy_idHierarchy = Hierarchy_idParent et
Je pourrais dans ce cas dire de que Hierarchy_idHierarchy1 = Hierarchy_idChildren
Voila ce qui est généré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 A.Hierarchy.As A.Hierarchy.Bs A.Hierarchy.Cs B.Hierarchy.As B.Hierarchy.Bs B.Hierarchy.Cs C.Hierarchy.As C.Hierarchy.Bs C.Hierarchy.Cs
Donc je dois décider si les listes sont les parents ou les enfants et mis tenir.
Si je décide que les listes représentent la liste des parents comment récupérer les enfants d'un objet ? (ou vice-versa)
Dans un deuxième temps j'ai essayer de faire 2 clés étrangères afin de les différenciées par leur noms
Dans ce cas EF génère le même modèle.
Dans l'idéal je souhaiterais obtenir où
- As est la liste des parents de type A
- A1s la liste des enfants de type A
- Bs est la liste des parents de type B
- B1s la liste des enfants de type B
- Cs est la liste des parents de type C
- C1s la liste des enfants de type C
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 A.Hierarchy.As A.Hierarchy.Bs A.Hierarchy.Cs A.Hierarchy.A1s A.Hierarchy.B1s A.Hierarchy.C1s B.Hierarchy.As B.Hierarchy.Bs B.Hierarchy.Cs B.Hierarchy.A1s B.Hierarchy.B1s B.Hierarchy.C1s C.Hierarchy.As C.Hierarchy.Bs C.Hierarchy.Cs C.Hierarchy.A1s C.Hierarchy.B1s C.Hierarchy.C1s
Partager