1
我想要獲取包含具有特定ID的網站的所有類別的列表。下面是腳手架生成的方法,我稍作修改。比較Guid時的例外
[HttpGet("Categories/{id}")]
public async Task<IActionResult> GetCategoriesSite([FromRoute] Guid id)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
// This line throws the error
var categories = await _context.Categories.Where(o => o.Site.Id.Equals(id)).ToListAsync();
if (categories == null)
{
return NotFound();
}
return Ok(categories);
}
不幸的是,當我運行這個它引發以下錯誤:
System.ArgumentException: Expression of type 'System.Nullable`1[System.Guid]' cannot be used for parameter of type 'System.Guid' of method 'Boolean Equals(System.Guid)'
實體是非常簡單的:
public class Category
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Site Site { get; set; }
}
public class Site
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ICollection<Category> Categories { get; set; }
}
什麼可能我是做錯了什麼?
你能告訴你使用到的GUID傳遞到GetCategoriesSite方法的代碼。這個錯誤聽起來像你沒有通過一個Guid,而且它是一個空值。 – Darthchai
它是一個來自郵遞員的GET調用http:// localhost:8080/api/Categories/32f770d6-ce84-4325-42ea-08d529984e6d – Aeseir
哪一行導致異常發生? – Darthchai