我尝试返回一个对象类,但是尝试失败。
public class tbl_Product
{
public tbl_Product()
{
tbl_ProductDescription = new HashSet<tbl_ProductDescription>();
tbl_ProductPricing = new HashSet<tbl_ProductPricing>();
}
public Guid Id { get; set; }
public string ProductCode { get; set; }
public string ProductName { get; set; }
public Decimal Price { get; set; }
[InverseProperty("Product")]
public virtual ICollection<tbl_ProductPricing> tbl_ProductPricing { get; set; }
}
下面是我在返回期间的WebAPI函数:
[HttpGet]
public Task<ActionResult<ICollection<tbl_Product>>> GetProductList()
{
var result = _context.tbl_Product
.Include(a => a.tbl_ProductPricing).ToList();
return result;
}
但是,我遇到了这个错误:
Cannot implicitly convert type 'System.Collections.Generic.List<Model.tbl_Product>' to 'System.Threading.Tasks.Task<Microsoft.AspNetCore.Mvc.ActionResult<System.Collections.Generic.ICollection<Model.tbl_Product>>>'
我可以知道应该输入什么返回类型吗?
答案 0 :(得分:1)
[HttpGet]
public async Task<ActionResult<ICollection<tbl_Product>>> GetProductList()
{
return Ok(await _context.tbl_Product.Include(a => a.tbl_ProductPricing).ToListAsync());
}
返回的实例必须与方法签名中指定的类型匹配。在您的情况下,您指定返回类型为Task<ActionResult<ICollection<tbl_Product>>>
,因此它必须1)返回一个Task和2)该任务必须解析ActionResult<ICollection<tbl_Product>>
的实例,以及3)ActionResult必须具有以下内容:实现ICollection<tbl_Product>
。
我假设您使用的是.net core,并且是指ActionResult<T>