Ну, это вызовет исключение, если вы управляете своими исключениями где-то в стеке, то вам, вероятно, не нужно оборачивать каждый LINQ, который вы используете.
Вы можете обрабатывать распространенные исключения, которые могут быть сгенерированы LINQ с сообщением по умолчанию / широким, и обрабатывать более точные ошибки вокруг вашего LINQ.
Вот список известных исключений, которые могут быть сгенерированы изэтот вопрос :
- SqlException
- ChangeConflictException
- DuplicateKeyException
- ForeignKeyReferenceAlreadyHasValueException
- исключение, когда исключениеправильно утилизируя DataContext)
Известно, что эти ошибки будут выброшены, вы, скорее всего, можете найти узкое место, где было бы интересно отловить эти ошибки и соответственно устранить их, если этоПользовательское приложение, затем, возможно, отобразит окно с ошибкой с некоторым понятным текстом для описания типа ошибки (например, исключение внешнего ключа означает, что запись все еще используется где-то).
Если вы знаете, что точное выражение LINQЕсли у вас возникли проблемы, то вы можете за один раз обернуть его с помощью Try / Catch aи управлять им соответственно.