Вместо предоставления Guid для команды (которая, вероятно, не имеет смысла для домена), у вас, вероятно, уже есть естественный ключ, такой как имя пользователя, который служит для уникальной идентификации пользователя.Этот естественный ключ имеет больше смысла для пользовательских команд:
- Когда вы создаете пользователя, вы знаете имя пользователя, потому что вы отправили его как часть команды.
- Когда выВы вошли в систему, вы знаете имя пользователя, потому что пользователь отправил его как часть команды входа в систему.
Если вы правильно проиндексировали столбец имени пользователя, вам может не потребоваться GUID.Лучший способ убедиться в этом - запустить тест - вставить миллион пользовательских записей и посмотреть, как работают CreateUser и Login.Если вы действительно видите серьезный удар по производительности , который, как вы убедились, отрицательно влияет на бизнес и не может быть решен с помощью кэширования, , тогда добавьте Guid.
Если вы используете DDD, вам нужно сосредоточиться на поддержании чистоты домена, чтобы код был легким для понимания и отражал реальные бизнес-процессы.Внедрение искусственного ключа противоречит этой цели, но если вы уверены, что оно обеспечивает реальную ценность для бизнеса, тогда продолжайте.