Почему это простое выражение LINQ закрывает приложение, но не выдает исключение
Итак, у меня есть это выражение 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 ответ
Чего бы вы ожидали? Делаете ли вы что-нибудь после того, как folder
?
FirstOrDefault () либо возвращает значение по умолчанию, либо первый элемент.
Если вы ничего не сделаете с этим потом, ничего не произойдет. Приложение, которое запускается до конца, завершается автоматически.
Относительно вашего обновления: вы уверены, что отлаживаете последние исходные файлы? Попробуйте выполнить перестройку, посмотрите, обновляются ли скомпилированные файлы и файлы отладки.