【发布时间】:2018-03-05 13:58:39
【问题描述】:
我正在使用 .NetCore 1.1.2。当我将生成的操作用于GET 操作时,它应该在数据库上找不到任何内容时返回 null,但 Null 验证不起作用。
我尝试使用 Single() 而不是 SingleOrDefault 并使用 try catch 来处理抛出的异常,但这似乎不是一个优雅的解决方案。
也许是 .net 版本?
public IActionResult Success(string token)
{
var paymentMade = _context.Payments
.SingleOrDefaultAsync(m => m.StripeToken == token);
if (paymentMade == null)
{
return NotFound(); //this never gets fired when empty
}
return View();
}
【问题讨论】:
-
我想你在 FirstOrDefault 之后?
-
您是如何定义付款的?
-
嘿,不要使用
Async- 检查paymentMate变量的类型。使用同步版本或await。 -
与
FirstOrDefault@user12345 相同 -
你正在使用异步版本,而不是等待它。
标签: c# .net linq asp.net-core