我有以下代码和数据库,我不明白这个问题。每当我尝试运行程序时,它总是抛出此异常: 类型' System.InvalidOperationException'未处理的异常发生在System.Core.dll
中在我的用户数据库中有一行UserName:majorcsanad和Password:722308,当我尝试使用这样的名称/密码登录时,它包含零元素。
我的代码如下:
Result = homer loves doughnut
Result = bart hates pie
Result = marge sees cake
Done
答案 0 :(得分:2)
您收到componentDidMount
,因为您正在使用System.InvalidOperationException
linq查询。
如果找不到任何元素或找到与您的搜索匹配的多个元素,则会发生这种情况。因此,您要么拥有多个具有相同用户名的用户,要么没有具有该用户名的用户。
您还需要在搜索用户名时考虑案例。确保搜索忽略大小写或搜索更改了用户名在DB中的用户名的情况。
您还可以修改代码以读取.Single()
,如果找不到则不会抛出异常,但如果找到多个,则仍会抛出SingleOrDefault()
。在你的情况下,我更喜欢System.InvalidOperationException
,因为它告诉你们两者。我认为错误在于我自己的角色案例,但是你要弄清楚。
以下是我将如何编写上述代码的示例......您将会明白这一点。
Single()
现在,我在现场抓住这个只是为了帮助我犯错误......