Предполагая, что ваш SQL-оператор не может вернуть DBNull.Value, тогда да, вы можете:
Guid myResult = (Guid) cmd.ExecuteScalar();
РЕДАКТИРОВАТЬ: Теперь, когда мы знаем, что вам нужно обрабатывать нули ....: -)
Я могу придумать два способа обработки пустых значений: использовать обнуляемый Guid и установить для него значение null или использовать обычный Guid и установить для него значение Guid.Empty, если ваш оператор SQL возвращает значение NULL.
Рассмотрим некоторыеформа вспомогательной функции или метода расширения, который проверяет наличие DBNull.Value.
static Guid? GetGuidFromDb(object dbValue)
{
if (dbValue == null || DBNull.Value.Equals(dbValue))
{
return null;
}
else
{
return (Guid) dbValue;
}
}
или
static Guid GetGuidFromDb(object dbValue)
{
if (dbValue == null || DBNull.Value.Equals(dbValue))
{
return Guid.Empty;
}
else
{
return (Guid) dbValue;
}
Затем вызовите
Guid? myResult = GetGuidFromDb(cmd.ExecuteScalar());
Примечание.Ваша команда SQL возвращает тип данных, отличный от UniqueIdentifier.