[предварительно состояние]
В моем проекте www.twipler.com я хочу разрешить людям связывать аккаунты в Твиттере. Это будет достигнуто за счет того, что они войдут в систему, выбрав «связать учетную запись», а затем войдут снова Это фактически даст мне UserId-1 и UserId-2. Теперь я хочу разрешить пользователю войти в систему с учетными данными UserId-1 или UserId-2, а затем получить учетные данные для другого пользователя. (Не стесняйтесь комментировать, но это не вопрос )
[настройка]
C # 3.5, NHibernate, TweetSharp, SQL 2005.
[вопрос]
Как мне сохранить «пакет» уникальных целых чисел в базе данных, чтобы при запросе одного целого числа возвращались другие связанные с ним.
Например, я мог бы создать таблицу с именем UserLinks и иметь GroupId, который я вычисляю перед вставкой новой ссылки. Это выглядело бы так
UserLinks GroupId UserId
1 12312784
1 18329139
2 19319332
2 14529342
2 21031023
Но это кажется немного уродливым и не-спящим. (Обновление: обратите внимание, что может быть более 2 учетных записей)
Ниже упомянуто о поиске нового GroupId с использованием Max (GroupId) +1, но я понимаю, что поскольку UserId уникальны, я могу использовать первый вставленный UserId группы в качестве GroupId.