Как определить, был ли установлен элемент данных профиля? - PullRequest
1 голос
/ 08 июля 2010

Я спрашивал об этом раньше, но я воскрешаю его, потому что не получил удовлетворительного ответа.

У меня есть переменная профиля, и когда я загружаю ее, ей назначаются значения по умолчанию.Мне нужно проверить, было ли это когда-либо назначено.Обычно я использую нулевое сравнение, но это не сработает.

Было предложено использовать FindProfilesByUserName, которое кажется обратным.Независимо от того, этот метод не будет работать, поскольку он только говорит мне, если пользователь создал какой-либо профиль, но не для конкретных данных члена, в которых я заинтересован. (Это кажется задом наперед, потому что вся цель профилей состояла в том, чтобы облегчитьполучить доступ к данным текущего профиля пользователя. Это кажется плохим дизайном, если я что-то упустил.)

Последний вариант, который я вижу, - это назначение битов каждому объекту, чтобы увидеть, были ли они загрязнены или установлены,Я не хочу делать это, если в этом нет необходимости.

Вот пример FindProfilesByUserName:

ProfileInfoCollection profileInfo = ProfileManager.FindProfilesByUserName(ProfileAuthenticationOption.All, Membership.GetUser().UserName);
        if (profileInfo.Count > 0)
        {
            if (profileInfo[Membership.GetUser().UserName] != null)

Последняя моя идея - хранить коллекции, потому что я думаю, что прочиталони обнуляются.В моем случае мне не нужна коллекция, но это может быть самым простым решением.С нетерпением ждем предложений ... Мне кажется, что я, должно быть, упускаю что-то очевидное в этом вопросе.

Для ясности

это не работает (если http.context.profile.mydata! =нуль)

Ответы [ 2 ]

0 голосов
/ 18 июля 2010

Просто установите значение по умолчанию, которое представляет null. например для поля int установите значение по умолчанию -1.

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

Ваше утверждение, что это упущение или недостаток модели профиля, я считаю преждевременным.

Удачи.

0 голосов
/ 08 июля 2010

Хорошо, я удивлен, что никто не сталкивался с этой проблемой: заставляет меня думать, что я упускаю что-то простое. Я собираюсь добавить группу и грязный флаг для группы. Если кто-то может предложить другое решение, я буду благодарен за ответ. Или грязный флаг к объекту ..

...