Когда я генерирую MVC.NET с использованием Visual Studio 2017, он генерирует несколько таблиц AspNetUsers, AspNetRoles и т. Д. *
Если вы посмотрите на сгенерированные Id s, все они находятся в nvarchar (128), а значение равно GUID.
Моя немедленная реакция - изменить его на int, но я подумал, что у Microsoft должна быть очень веская причина использовать GUID вместо int. Но, выполнив поиск в Google, я не смог найти ответ.
Теперь я понимаю, почему он хранит все идентификаторы как nvarchar (128), потому что не вся база данных имеет тип поля GUID. Но я не смог выяснить преимущества использования GUID и int.
Дальнейший поиск в Интернете, я нашел эту статью: GUIDs как ПЕРВИЧНЫЕ КЛЮЧИ и / или ключ кластеризации . Похоже, что GUID может быть плохим выбором.
Я на начальном этапе, поэтому мне еще пора перейти от GUID к int. Но есть ли реальный недостаток (и / или выгода) при использовании int вместо GUID?
Спасибо за любую помощь ...