public async Task<ParagemRegisto> GetParagemRegistoOnGoingAsync(int registoId)
{
return await = _context.ParagensRegistos
.Where(pr => pr.RegistoId == registoId && pr.HoraFim == null)
.FirstAsync();
}
当找不到记录时,这将导致空引用异常。我该怎么做,以便在这种情况下返回null?
答案 0 :(得分:3)
您可以使用FunctionTestCase
。
答案 1 :(得分:2)
public async Task<ParagemRegisto> GetParagemRegistoOnGoingAsync(int registoId)
{
var result = await _context.ParagensRegistos
.Where(pr => pr.RegistoId == registoId && pr.HoraFim == null)
.FirstOrDefaultAsync();
return result ?? new List<ParagemRegisto>();
}
FirstOrDefaultAsync将始终返回默认值,而不是引发异常。因此,如果没有记录,则可以检查返回的内容。在这种情况下,我们将检查是否为空,如果确实为空,则尝试返回一个空列表。
答案 2 :(得分:2)
您可以使用FirstOrDefaultAsync,如果它不存在,则返回null,但是不会发生异常。
public async Task<ParagemRegisto> GetParagemRegistoOnGoingAsync(int registoId)
{
return await = _context.ParagensRegistos.FirstOrDefaultAsync(pr => pr.RegistoId == registoId && pr.HoraFim == null);
}