Каков наилучший способ получить значение Max из запроса LINQ, который не может возвращать строки? Если я просто делаю
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
Я получаю сообщение об ошибке, когда запрос не возвращает строк. Я мог бы сделать
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
но это кажется немного тупым для такого простого запроса. У меня отсутствует лучший способ сделать это?
ОБНОВЛЕНИЕ: вот предыстория: я пытаюсь получить следующий счетчик приемлемости из дочерней таблицы (унаследованная система, не заставляйте меня начинать...). Первая строка соответствия для каждого пациента всегда 1, вторая - 2 и т.д. (Очевидно, это не первичный ключ дочерней таблицы). Итак, я выбираю максимальное значение счетчика для пациента, а затем добавляю 1 к нему для создания новой строки. Когда нет существующих дочерних значений, мне нужен запрос для возврата 0 (так что добавление 1 даст мне значение счетчика 1). Обратите внимание, что я не хочу полагаться на сырое количество дочерних строк, если унаследованное приложение вводит пробелы в значениях счетчика (возможно). Мой плохой для того, чтобы сделать вопрос слишком общим.