Идентификатор уникального идентификатора SQL Server в С#
Какой тип данных следует использовать в С# для работы с SQL Server uniqueidentifier.
Нуждаются ли какие-либо преобразования и т.д.
Ответ 1
System.Guid.
Не требуется конверсий.
Ответ 2
System.Guid
При чтении столбцов Uniqueidentifier с нулевыми значениями из вашей базы данных обязательно проверьте, имеет ли значение значение null, прежде чем пытаться назначить экземпляр Guid, поскольку Гиды не являются нулевыми. Например:
... /// using recordset rs
// generates exception if rs["my_guid"] is null
Guid g = (Guid)rs["my_guid"];
// returns Guid.Empty {0000000-.....} if db value is null
Guid g = (Guid)(rs["my_guid"] ?? Guid.Empty);
и др.
Ответ 3
Если вы получаете значение из SQLDataReader, убедитесь, что вы проверили его против DBNull, прежде чем пытаться его использовать. Иногда значение можно интерпретировать как строку, поэтому вам нужно ввести New Guid (rs [ "my_guid" ]), чтобы убедиться, что у вас есть указатель для использования в вашем коде.