Я начинаю новый проект с SqlServer и Linq to Sql.
Какой тип данных будет лучше для суррогатных ключей в таблицах: identity или uniqueidentifier?
Как я понял, identity автоматически создается при вставке, а uniqueidentifier должен быть сгенерирован в коде (GUID).
Существуют ли существенные различия в производительности?
например identity значение должно быть прочитано после вставки, поэтому после вставки происходит дополнительная загрузка базы данных.
  Edit: 
Я нашел очень подробный ответ в другом вопросе: Таблицы без первичных ключей. Прочтите выбранный ответ.
  Изменить 2: 
Что касается ответов о суррогатных ключах: мне нравятся суррогатные ключи больше, чем естественные ключи. Это решение сделано, поэтому, пожалуйста, не предлагайте пересмотреть дизайн базы данных. Также, пожалуйста, не обсуждайте плюсы и минусы натуральных и суррогатных ключей.
