Использование Guids в качестве первичных ключей допустимо и считается довольно стандартной практикой по тем же причинам, по которым вы их рассматриваете. Их можно использовать слишком часто, что может затруднять отладку и управление, поэтому старайтесь не пускать их в таблицы кодов и другие справочные данные, если это возможно.
То, о чем вам нужно заботиться, - это читаемый человеком идентификатор. Люди не могут обменять руководства - можете ли вы представить себе попытку подтвердить номер заказа по телефону, если это гид? Таким образом, в автономном сценарии вам все еще может потребоваться сгенерировать что-то - например, идентификатор издателя (рабочей станции / пользователя) и некоторый порядковый номер, поэтому номер заказа может быть 123-5678 -.
Однако это может не соответствовать бизнес-требованиям наличия порядкового номера. На самом деле нормативные требования могут быть и влиять - некоторые правила (возможно, SOX) требуют, чтобы номера счетов-фактур были последовательными. В таких случаях может потребоваться сгенерировать своего рода номер проформы, который устанавливается позже при синхронизации систем. Вы можете получить доступ к таблицам, имеющим OrderId (Guid), OrderNo (int), ProformaOrderNo (varchar) - может возникнуть некоторая сложность.
По крайней мере, наличие направляющих в качестве первичных ключей означает, что вам не нужно делать много каскадных обновлений, когда синхронизация в конце концов произойдет - вы просто обновите удобочитаемое число.