Что ж, достаточно просто сделать что-то вроде:
var rand = new Random();
var uid = rand.Next(100000, 1000000);
Однако, единственный способ обеспечить уникальность в базе данных - это 1) запрос, чтобы убедиться, что значение не существует первым ( хотя там есть проблемы с параллелизмом) или 2) сделать столбец уникальным и отлавливать исключения БД, полученные из проверок ограничений.
Короче говоря, вы должны сделать что-то вместе с базой данных, чтобы определить, действительно ли она уникальна в база данных. При пуле менее миллиона вы, вероятно, будете часто сталкиваться с коллизиями.
Стоит отметить, что, как указывает @PeterO, это не будет удаленно безопасно. Было бы тривиально легко вызвать грубое столкновение из пула, насчитывающего менее миллиона кандидатов. Тем не менее, использование криптографии c RNG здесь не поможет, если вы все равно получите шестизначную цифру c. Как вы получаете случайное число, не так важно, как то, насколько случайным может быть это число. Энтропия здесь близка к нулю.