Получение данных профиля пользователя в Silverlight 4 - PullRequest
1 голос
/ 17 октября 2010

Я довольно новичок в службах Silverlight и RIA, и я пытаюсь создать небольшой проект, чтобы понять это.В общем, я создал бизнес-приложение, и у меня есть обычный экран входа в систему, где я могу добавить пользователя.Это нормально, и я могу добавить пользователя и поместить его в таблицу aspnet_Users.Теперь я создал несколько дополнительных полей, таких как Mob No, Tel No, DOB, Locality и т. Д., Которые я поместил в созданную мной таблицу с именем UserProfile, и моя идея состоит в том, чтобы получить зарегистрированное имя пользователя и вставить его вмоя таблица UserProfile с другими соответствующими данными.

Итак, я создал страницу с именем Profile.xaml, я создал UserProfileDomainService.cs, где у меня есть только один запрос, чтобы получить данные профиля пользователя из таблицы, а затемсоздал подробный DataGrid на моей странице, и QueryName в моем случае это GetUserProfilesQuery ().Теперь я хочу, чтобы пользователь вошел в систему, получил свое имя пользователя и проверил мою таблицу, чтобы увидеть, есть ли уже данные в таблице.Если в DataGrid есть поля с данными, чтобы пользователь мог изменить эти данные, а если нет, разрешите пользователю вставлять данные в таблицу.

Итак, я создал класс UserProfileViewModel иЯ хочу создать запрос, чтобы получить данные, относящиеся к этому пользователю.Однако я застрял на том, как сделать все это, и как войти в систему пользователя.

Кто-нибудь может дать мне какой-нибудь совет или указать некоторые уроки о том, как мне этого добиться?

Большое спасибо и ваша помощь очень ценится.

1 Ответ

0 голосов
/ 11 ноября 2010

В запросе службы домена вы можете использовать ServiceContext.User.Identity.Name, чтобы получить информацию, специфичную для этого пользователя, для включения в ваш запрос базы данных. Я делаю нечто подобное в нашем проекте.

Мы используем Entity Framework, поэтому запрос LINQ to Entities выглядит следующим образом:

   return this.ObjectContext.UserSnapins
        .Include("Snapin.EvolutionModule")
        .Where(si => si.User.UserName == ServiceContext.User.Identity.Name)
        .OrderBy(si => si.PageOrder);
...