Bonjour à tous,
J'ai un problème à priori un peu tordu... Pour expliciter voici la structure objet et en base :
Dans ma base j'ai
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 public class Niveau { public int Id {get; set;} public string Name {get; set;} public List<Item> Items {get; set;} } public class Item { public int Id {get; set;} public string Name {get; set;} public List<ItemLink> ItemLinkParents {get; set;} public List<ItemLink> ItemLinkEnfants {get; set;} } public class ItemLink { public int Id {get; set;} public string Name {get; set;} public double Ratio {get; set;} public Item Parent {get; set;} public Item Enfant {get; set;} }
Item
1 1
| |
| |
n n
ItemLink
Donc chaque objet ItemLink est référencé deux fois (une fois en tant que parent et une fois en tant que fils) si on récupère tout les objets Item.
Le problème est que j'ai des classes partiels sur Item et ItemLink et à la récupération les propriétés liées sont modifiés, dans les deux listes pour un même objet, y a t il un moyen pour empêcher EF à considérer que c'est la même instance ?
J'ai pensé qu'une solution est de dire que les objets que je récup soit détaché du contexte, mais pas sûre de mon raisonnement.
J'espère avoir pu expliciter mon problème,
D'avance merci
Partager