Bonjour, le titre de mon sujet est peu-être peu explicite mais voici en détail ce qu'il veut dire :

Dans une application WPF j'ai ajout un Datacontext Entityframework qui contient notamment cette table :

Nom : Table.png
Affichages : 87
Taille : 14,3 Ko

j'ai ensuite crée un Generic ripository comme suit :

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
public class GenericDbContext<T> : IGenericDbContext<T> where T : class
    {
        private readonly KEPTEntities dc = null;
        private readonly DbSet<T> table = null;
        public void Delete(object id)
        {
            T existing = table.Find(id);
            table.Remove(existing);
        }
 
        public IEnumerable<T> GetAllData()
        {
            return table.ToList();
        }
 
        public T GetDataById(object id)
        {
            return table.Find(id);
        }
 
        public void Insert(T obj)
        {
            table.Add(obj);
        }
 
        public void Save()
        {
            dc.SaveChanges();
        }
 
        public void Update(T obj)
        {
            table.Attach(obj);
            dc.Entry(obj).State = System.Data.EntityState.Modified;
        }
 
        public GenericDbContext()
        {
            dc = new KEPTEntities();
            table = dc.Set<T>();
        }
 
    }
La méthode qui va nous interesser est : T GetDataById(object id);

J'ai ensuite une classe (KeepQueries) qui référence cette méthode dans laquelle on trouve cette méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 public static string GetSpecificDocEntData(string id, object field)
        {
            return docEnt.GetDataById(id).DE_LIB;
        }
Et cette méthode est utilisé plus loin dans mon application comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 KeepQueries.GetSpecificDocEntData("APPART", null);
Ce que je cherche a faire c'est utilisé mon object field pour que l'utilisateur puisse choisir n'importe quel champ de la table basé sur l'ID.
Exemple (qui ne fonctionne pas bien sur):

Dans la classe KeepQueries :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 public static string GetSpecificDocEntData(string id, object field)
        {
            return docEnt.GetDataById(id).[field];
        }
et plus loin dans l'application :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 KeepQueries.GetSpecificDocEntData("APPART", "DE_PATH");
Comment dois-je modifier mon code pour que cela fonctionne ?