В настоящее время мне поручено преобразовать часть кода C# CRL в хранимые процедуры SQL и скалярные функции. На первый взгляд задача кажется достаточно простой, пока я не наткнулся на фрагмент кода, который генерирует новый Guid с массивом байтов в качестве параметра. Код выглядит следующим образом:
Код: Выделить всё
public static Guid GenerateGuid()
{
var bytes = GenerateBytes();
return new Guid(bytes);
}
Сгенерированные байты здесь не имеют значения. Меня озадачивает то, как C# использует этот массив байтов для создания нового экземпляра Guid. Однако на SQL-сервере есть только одна функция NEWID(), которая не принимает параметров, она аналогична Guid.NewGuid(). К сожалению, это не то, что мне нужно для этого варианта использования.
Поэтому я хотел бы спросить, как я могу переписать приведенный выше код C # в SQL, чтобы сгенерировать новый Guid с указанным байтом. массив вместо совершенно случайного Guid с использованием NEWID()?
Подробнее здесь:
https://stackoverflow.com/questions/785 ... r-function