我看了一遍,我无法弄清楚为什么我的viewmodel没有填充。
我有这段代码:
_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,Following和CurrentUser对象。我知道应该返回数据,因为我正在尝试在我的应用程序中实现MVVM模式,并且没有更改域服务。另外我可以调试CurrentUserId有一个值。这些变量都没有值,而且repo也没有。
当我试图查看ie_followersRepo.aspnet_Users的值时,我只是得到“枚举没有结果”的内容是什么?
必须有一些关于域服务查询的关键逻辑,我真的没有得到,所以如果有人愿意睁开眼睛,我会非常感激
答案 0 :(得分:2)
_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
。使用相同的实例来创建其他集合