Почему это простое выражение LINQ закрывает приложение, но не выдает исключение - PullRequest
0 голосов
/ 07 ноября 2011

Итак, у меня есть это выражение LINQ, которое просто пытается извлечь сущность из базы данных, но при запуске приложение просто закрывается, и никаких исключений не выдается. Я установил попытку, чтобы увидеть, смогу ли я увидеть исключение, но отладчик просто останавливается на выражении LINQ и не попадает в ловушку и ничего не запускает после этого, например, присвоение folderId впоследствии; как я уже сказал, он просто закрывает программу. Есть идеи?

Item folder = null;
            try
            {
                folder = entities.Items.Where(i => i.Path + "\\" == folderPath).FirstOrDefault();
            }
            catch(Exception)
            {
                Console.WriteLine("What is it??!!");
            }
            int folderId = folder == null ? 0 : folder.ID;

FolderPath является допустимой строкой. Уже проверил, и это то, что я ожидаю.

1 Ответ

1 голос
/ 07 ноября 2011

Чего бы вы ожидали? Делаете ли вы что-нибудь после того, как у вас есть folder?

FirstOrDefault () либо возвращает значение по умолчанию, либо первый элемент.

Если после этого вы ничего не сделаете, ничего не произойдет. Приложение, которое запускается до конца, автоматически закрывается.


Относительно вашего обновления: вы уверены, что отлаживаете последние исходные файлы? Попробуйте выполнить перестройку, посмотрите, обновляются ли скомпилированные файлы и файлы отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...