Salut,
J'ai une classe de base et des dérivées. EF:
- créé une table pour chaque objet;
- me permet de mettre à jour les entités à partir de la table de base.
Constat: le code est le même pour réaliser les opérations du CRUD sur les classes enfant seul le Type à traiter change.
Question: comment réaliser un manager générique acceptant n'importe lequel des objets?
Le model:
Le code:Merci d'avance pour vos idées.
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
36
37
38
39
40
41
42
43
44
45
46
47
48 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public class VehiculeManager : IDisposable { private Model1Container m = new Model1Container(); public void Create(Volant volant) { m.VehiculeJeu.AddObject(volant); m.SaveChanges(); } public Volant Read(int id) { return m.VehiculeJeu.OfType<Volant>().Where(x => x.ID == id).FirstOrDefault(); } public void Dispose() { m.Dispose(); } } public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { using (var mgr = new VehiculeManager()) { Volant v1 = new Volant(); v1.Nom = "747"; v1.ModePropulsion = "Réacteur"; mgr.Create(v1); var v2 = mgr.Read(v1.ID); Response.Write(v2.ModePropulsion + "<br />"); } } } }
Petite précision suplémentaire, le manager doit implémenter une interface ICrud comme celle-ci: http://immobilis.developpez.com/tuto...work/#LIII-A-2
Partager