ASP.NET MVC Получить список пользователей с определенными свойствами профиля - PullRequest
5 голосов
/ 11 апреля 2010

Я использую ASP.NET MVC 1 и добавил пользовательский класс Profile с помощью надстройки WebProfile Builder VS (находится здесь: http://code.msdn.microsoft.com/WebProfileBuilder/Release/ProjectReleases.aspx?ReleaseId=980).

В одной из моих форм я хочу раскрывающийся список всех пользователей, которые имеют общее значение определенного профиля.

Я вижу, что могу получить список всех пользователей, используя:

Membership.GetAllUsers()

Однако я не вижу, как получить всех пользователей, у которых есть определенное значение профиля, которое в моем случае - CellId.

Правильно ли я подхожу к этому? Я использовал роли членства, чтобы определить, какие пользователи являются администраторами и т. Д., Но профили кажутся подходящим местом для группировки пользователей.

Будем весьма благодарны за любые указания, касающиеся как доступа к списку пользователей, так и комментариев о том, преследую ли я здесь правильный путь.

Большое спасибо, Сэм

Ответы [ 2 ]

3 голосов
/ 02 мая 2010

Нет API запросов для профиля, но это может дать вам некоторые рекомендации:

var usersWithNonZeroCounter = Membership.GetAllUsers().Cast<MembershipUser>()
    .Where(user => true /*insert your user criteria here*/)
    .Select(user => ProfileBase.Create(user.UserName, true))
    .Where(profile => ((int)profile["counter"]) > 0 /*insert your profile criteria here*/)
    .ToList();
1 голос
/ 12 сентября 2011

Если вам нужно только одно сравнение, вы можете использовать следующее утверждение:

return Membership.GetAllUsers().Cast<MembershipUser>()
        .Where(user => ((int)ProfileBase.Create(user.UserName, true)["Owner"]) == _ownerid);

Если вам нужны дополнительные оценки, почему бы вам не использовать оператор let для сохранения профиля в.

...