powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Membership Api, можно ли легко изменить PK с uniqueidentifier на int
13 сообщений из 13, страница 1 из 1
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39773636
Aleksy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблицах везде установлен PK uniqueidentifier, легко ли будет перевести все на int, есть у кого опыт?
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39773662
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksy,
Легко, не легко, все одно нужно перейти.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39773676
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве что, если кастомный MembershipProvider написать. Код стандартного SqlMembershipProvider на гитхабе доступен, т.ч. не должно быть особо сложно.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774798
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksy,

Не нужно переходить на int.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774818
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНе нужно переходить на int.

Нужно. Хотя, у нас как-то использовался комбинированный вариант, который мне понравился - "int identity" для "настоящего" PK в БД + случайно сгенеренная строка для "видимого" (например в URL) ключа. GUID в качестве PK уступает int identity в производительности, но вовсе не потому, что он в 4 раза длинее, а потому что генерирует несортированную последовательность. С другой стороны, показывать наружу identity key тоже не очень хорошо, потому что это, в какой-то степени, disclosure.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774850
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatпотому что генерирует несортированную последовательность
Использовать sequential guid.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774873
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мухfkthatпотому что генерирует несортированную последовательность
Использовать sequential guid.

Да, это можно. Но потребует некоторой дрочи, т.к генерить его придется на стороне БД. Identity мы получаем сразу же через SCOPE_IDENTITY(), обычный GUID можно генерить просто на клиенте, а с NEWSEQUENTIALID() так просто не выйдет, насколько я понимаю.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774878
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatДмитрий Мухпропущено...

Использовать sequential guid.

Да, это можно. Но потребует некоторой дрочи
Всё уже сделано до нас и доступно через NuGet :)
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774881
Lessyp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatGUID в качестве PK уступает int identity в производительности, но вовсе не потому, что он в 4 раза длинее, а потому что генерирует несортированную последовательность.
это будет проблемой только если кластерный ключ построить по id, что делается обычно по незнанию. А так да, GUID нужны только для взаимодействия разных систем/баз, внутри одной базы для связи таблиц только int. Переводить рабочий сервер с данными будет нелегко, пишите скрипт миграции
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774901
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatGUID в качестве PK уступает int identity в производительности, но вовсе не потому, что он в 4 раза длинее, а потому что генерирует несортированную последовательность. С другой стороны, показывать наружу identity key тоже не очень хорошо, потому что это, в какой-то степени, disclosure .

Нет, не поэтому. Есть более весомые причины.
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774902
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lessyp,

+1
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774905
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LessypА так да, GUID нужны только для взаимодействия разных систем/баз, внутри одной базы для связи таблиц только int.
Дак может и делать управление пользователями отдельным сервисом с Membership API и отдельной базой?
...
Рейтинг: 0 / 0
Membership Api, можно ли легко изменить PK с uniqueidentifier на int
    #39774927
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухLessypА так да, GUID нужны только для взаимодействия разных систем/баз, внутри одной базы для связи таблиц только int.
Дак может и делать управление пользователями отдельным сервисом с Membership API и отдельной базой?

Невнимательно прочитал про "внутри одной базы". С этим не согласен.

Мембершип отдельно всегда выносить надо, конечно. Очень часто приходится городить огромное количество костылей, дурно пахнущих прокладок, потому что кто-то когда решил, что "внутри одной базы и только int" и разместил мембершип внутри на ржавых гвоздях так, что потом хоть за голову хватайся.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Membership Api, можно ли легко изменить PK с uniqueidentifier на int
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]