В моем приложении MVC3 есть слой Service , который, помимо прочего, играет роль репозитория в качестве слоя между моим слоем Data и реальным веб-приложением.Я кодировал все свои GetById
методы, чтобы они были надежными, используя FirstOrDefault
, а не просто First, потому что Id передается в URL и не может быть гарантированно действительным Id.
Теперь я нахожу себягде я делаю FirstOrDefault
, то только в том случае, если результат не равен нулю.Я хотел бы зарегистрировать событие, когда оно пустое, а затем перейти к ничего не делать и т. Д. Теперь я уже использую Elmah для регистрации необработанных исключений, и у меня очень мало опыта обработки исключений и т. Д. В MVC3, но это происходит смне, что для меня может быть лучше использовать простой First
, с Elmah, регистрирующим исключение, если никакая сущность не найдена.
Как мне подходить к этому сценарию, где недопустимый Id вполне определенно является логическим исключением, но не исключение низкого уровня CLR?Это не так, когда кого-то просят ввести Id, и для его поискового термина не найдено ни одной сущности, что является нормальным логическим результатом.