Bonjour tout le monde,
Après avoir mis en place une architecture en Domain Driven (vous pourrez là retrouver sur ce lien), nous avons commencé à développer notre application.
Néanmoins nous rencontrons actuellement un problème et j’aimerai savoir si vous auriez certaines pistes à nous proposer. En avant pour la petite explication :
J’ai une méthode d’un controler qui récupère une liste d’id (par exemple d’id de classes).
Cette action instancie un objet de type User, puis fait appel à un repository pour récupérer l’ensemble des classes correspondant à la liste des ids :
Elle insère par la suite ces objets dans l’objet User :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public Classe GetClass(int id) { return DataContext.CLASS.FirstOrDefault(d => d.IdClass== id); }
Une fois cela fait, on fait appel à un autre repository pour insérer cet objet en BDD.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach (int id in model.SelectedId) { user.Classes.Add(repo.GetClass(id)); }
Et là, paf erreur : un message me dit qu’il est impossible d’ajouter un objet déjà rattaché à un context. J’en déduis donc que cela provient de mes classes qui doivent être ratachées à un context.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public bool AddUser(User user) { try { DataContext.AddObject("USER", user); DataContext.SaveChanges(); return true; } catch { return false; } }
D’où ma question : auriez-vous des solutions à me proposer ? Nous essayons de développer l’application de la manière la plus propre possible, et nous souhaiterions éviter toute rustine ou combine
Merci pour votre aide,
Finality
Partager