Почему мои свойства viewmodel не заполняются - PullRequest
0 голосов
/ 10 июня 2010

Я просмотрел все и не могу понять, почему моя модель не заполняется.

У меня есть этот код:

_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);

Но при отладке данные не загружаются в объекты Followers, Follow и CurrentUser. Я знаю, что данные должны быть возвращены, потому что я пытаюсь реализовать шаблон MVVM в своем приложении и не изменил службу домена. Также я могу se отладка CurrentUserId имеет значение. Однако ни одна из переменных не имеет значения, а в репо тоже нет.

Когда я пытаюсь просмотреть значение, т. Е. _FollowersRepo.aspnet_Users, я просто получаю «перечисление не дало результатов», что с этим?

Должна быть некоторая ключевая логика в запросах службы домена, которые я на самом деле не получаю, поэтому я был бы очень признателен, если бы кто-то открыл мне глаза

1 Ответ

2 голосов
/ 10 июня 2010

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

Если эта строка используется для загрузки данных в _followersRepo, она должна быть до создания экземпляра Followers.

Обновление

Попробуйте это:

_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>

Нет необходимости создавать _followersRepo снова. использовать тот же экземпляр для создания других коллекций также

...