-2

所以我有这个 LINQ 表达式,它只是试图从数据库中检索一个实体,但是当它运行时,应用程序只是关闭并且没有抛出异常。我在它周围放了一个 try catch 以查看是否可以看到异常,但调试器只是在 LINQ 表达式处停止并且不会进入 catch 或在此之后运行任何东西,例如之后的 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 是一个有效的字符串。已经检查过了,这就是我所期望的。

4

1 回答 1

1

你会期待什么?有了之后你会做什么folder吗?

FirstOrDefault()要么返回默认值,要么返回第一个元素。

如果你之后不做任何事情,什么都不会发生。运行到最后的应用程序会自动终止。


与您的更新有关:您确定要调试最新的源文件吗?尝试重新构建,看看编译文件和调试文件是否更新。

于 2011-11-07T00:06:08.457 回答