Я пытаюсь получить длину (в символах) самого длинного конкретного поля в моей базе данных, даже в случае отсутствия значений поля.Иногда в нашей базе данных нет значений ни для одного из .UnitID, что выдает ошибку при попытке использовать .Max ().Вот мой текущий запрос:
var unitIDWidth = data.DefaultIfEmpty().Max(x => x == null ? 0 : x.UnitID.Length);
Я думал, что этот код будет работать, но он по-прежнему выдает это исключение:
'Сбой приведения к значению типа' System.Int32 ', посколькуматериализованное значение равно нулю.Либо универсальный параметр типа результата, либо запрос должен использовать обнуляемый тип. '
Я также пробовал это:
var unitIDWidth = data.Where(x=>x.UnitID != null).Select(x=>x.UnitID.Length).Max();
Но также выдается исключение.
Мне нужно, чтобы этот запрос возвращал 0, если все значения равны нулю, или максимальное количество символов, если есть значения в этом конкретном поле.
Спасибо за любую помощь!