Bonjour à tous,

Je développe une application en WPF et je rencontre un gros problème de performance pour le chargement des données. (environ 2 min).

J'ai essayé d'appliquer le design pattern MVVM mais vu le résultat que j'obtiens, j'ai un doute sur ce que j'ai fait. Je vous explique ma démarche.


J'ai un ViewModel que je vais appeller ObjetViewModel avec beaucoup de propriétés (> 50)
J'ai un autre ViewModel que je vais appeler AllObjetViewModel et qui contient une observableCollection de ObjetViewModel (ListObjetViewModel).



Dans AllObjetViewModel, je récupère la liste des objets de la base par linq
et pour chaque objet récupéré je créé un ObjetViewModel que j'ajoute à ListObjetViewModel.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Exemple :
public AllObjetViewModel()
{
    var req = from ...
    List temp = req.toList();
    foreach(objet o in temp)
     {
           ListObjetViewModel.add(new ObjetViewModel(o));
     }
}
Et après je mets l'observableCollection en itemsResource de la listView.


Donc je voulais savoir si mon raisonnement était correct car j'ai de gros problème de performance pour le chargement des données.