【发布时间】:2022-01-20 06:46:46
【问题描述】:
我想检查用户是否存在数据库中的电子邮件。我想在 API 中执行此操作,它应该简单地返回 true 或 false。这就是我得到的;当用户存在时,如果用户在 DB 中不存在,则返回 true,则返回 500 内部服务器错误。我怎么能解决这个问题?提前致谢
public IHttpActionResult GetUserEmail(string Email)
{
var User = (db.Users
.Where(p => p.Email == Email)
.First());
if (User == null)
{
return Ok(false);
}
else
{
return Ok(true);
}
}
【问题讨论】:
-
.First()如果db.Users.Where()结果中不存在,将抛出异常。您需要使用FirstOrDefault()。 stackoverflow.com/a/1024580/1910735 -
是的,非常感谢,现在可以使用
-
我希望您不是针对生产进行开发,因此显示 500 错误的页面还应该显示实际异常和堆栈跟踪,以便您可以调试它。您是否收到错误,它告诉您什么?
标签: asp.net-mvc rest razor