2010-06-10 6 views
0

J'ai regardé partout et je n'arrive pas à comprendre pourquoi mon viewmodel n'est pas rempli.Pourquoi mes propriétés viewmodel ne sont pas remplies

Je possède ce code:

_followersRepo = new NotesDomainContext(); 
_followersRepo.Load(_followersRepo.GetFollowersQuery(), lo => { 
_followers = new ObservableCollection(_followersRepo.aspnet_Users); 
    }, null); 

_followingRepo = new NotesDomainContext(); 
_followingRepo.Load(_followingRepo.GetUsersFollowedByIDQuery(CurrentUserId), lo => { 
_following = new ObservableCollection(_followingRepo.aspnet_Users); 
}, null); 

_fullUserRepo = new NotesDomainContext(); 
_fullUserRepo.Load(_fullUserRepo.GetFullUserByIDQuery(CurrentUserId), lo => { 
_currentUser = _fullUserRepo.FullUsers.SingleOrDefault(); 
}, null); 

Mais quand je debug, il n'y a pas de données chargé des suiveurs, et des objets Après CurrentUser. Je sais que les données doivent être renvoyées car j'essaie d'implémenter le modèle MVVM dans mon application et je n'ai pas modifié le service de domaine. Aussi, je peux commencer à déboguer le CurrentUserId a une valeur. Aucune des variables n'a cependant de valeur, et les repo n'en ont pas non plus.

Lorsque j'essaie de voir la valeur de _followersRepo.aspnet_Users, je viens d'obtenir "l'énumération n'a donné aucun résultat" quoi de neuf?

Il doit y avoir une certaine logique clés sur l'interrogation de DomainService que je ne suis vraiment pas obtenir, donc je l'apprécierais beaucoup si quelqu'un ouvre mes yeux

+0

Avez-vous enfin compris? – Amsakanna

+0

@Veer - oui vous avez eu la réponse :) thx un groupe – Jakob

Répondre

2

_followersRepo.Load(_followersRepo.GetUsersFollowingIDQuery(CurrentUserId));

Si cette ligne est utilisée pour charger données dans _followersRepo, il devrait être avant d'instancier Followers.

Mise à jour

Essayez ceci:

_followersRepo = new NotesDomainContext(); 
var filteredFollowers = _followersRepo.GetFollowersQuery(); // That should return you an IQueryable<aspnet_User> 
_followers = new ObservableCollection(filteredFollowers); // An ObservableCollection is created out of the IQueryable<aspnet_User> 

Pas besoin de créer le _followersRepo à nouveau. utiliser la même instance pour créer d'autres collections aussi

+0

J'ai essayé \t \t \t \t _followersRepo.Load (_followersRepo.GetUsersFollowingIDQuery (CurrentUserID)); \t \t \t \t Suiveurs = nouveau ObservableCollection (_followersRepo.aspnet_Users); \t \t \t \t _suivanteRepo.Load (_suivanteRepo.GetUsersFollowedByIDQuery (CurrentUserId)); \t \t \t \t Suivante = nouvelle ObservableCollection (_followingRepo.aspnet_Users); \t \t \t \t _fullUserRepo.Load (_fullUserRepo.GetFullUserByIDQuery (CurrentUserID)); \t \t \t \t CurrentUser = _fullUserRepo.FullUsers.SingleOrDefault(); mais cela ne semble pas fonctionner non plus. Est-ce avant que Followers ne soit instancié? – Jakob

+0

s'il vous plaît envoyer le code pour l'un de la méthode de chargement. Sinon, vérifiez si la méthode charge certaines données dans _followersRepo.aspnet_users. – Amsakanna

+0

Je l'ai vérifié et ils ne le font pas. publique IQueryable GetUsersFollowingID (GUID ID utilisateur) \t \t { \t \t \t retour this.DataContext.Followers.Where (f => == f.FollowedId ID utilisateur) .Select (f => f.aspnet_User1); \t \t} – Jakob

Questions connexes