Надеясь это хороший софтбол вопроса для пятницы, но у меня есть следующие строки коды:Нужна помощь с LINQ ArgumentOutOfRangeException в C#
//System.ArgumentOutOfRangeException generated if there is no matching data
currentAnswers = new CurrentAnswersCollection()
.Where("PARTICIPANT_ID", 10000).Load()[0];
CurrentAnswersCollection является сильно типизированной коллекцией заселен видом возвращаясь к моей базе данных. Проблема, конечно, в том, что если нет соответствующего PARTICIPANT_ID = 10000, я получаю сообщение об ошибке.
Есть ли лучший способ написать это, чтобы я не получил сообщение об ошибке вообще? Я просто не знаю достаточно о синтаксисе LINQ, чтобы узнать, могу ли я сначала проверить на существование?
спасибо.
Исследовать трассировки стека. Он обычно дает очень точное место ошибки. – Andrey
Если вы используете Dynamic LINQ, вы можете попробовать изменить выражение '.Where' на' .Where ("PARTICIPANT_ID = @ p0", 10000) '. Но чтобы ответить на вопрос об исключении ArgumentOutOfRangeException, см. Ответ Дэвида М. –