代码之家  ›  专栏  ›  技术社区  ›  Tom

无法将类型DTO转换为类型IEnumerable

  •  0
  • Tom  · 技术社区  · 5 年前

    我正在创建一个ASP.NET核心web.api,需要从IEnumerable方法返回DTO对象。控制器get方法中出现错误,说明无法将dto转换为IEnumerable类型

     namespace Products.DTO
    {
        public class Products
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Code { get; set; }
            public DateTime Available { get; set; }
            public decimal Price { get; set; }
        }
    
    }
    
    namespace Products.API.Controllers
    {
         [Route("api/[controller]")]
            [ApiController]
            public class ProductsController : ControllerBase
            {
    
                [HttpGet]
                public ActionResult<IEnumerable<DTO.Products>> GetProducts()
                {
                    return new DTO.Products  
                    {
                        Id = 1, Name = "Cricket bat", Available = DateTime.Now, Code = "AC122333", Price = 1223.23M
                    };
                }
            }
    }
    
    1 回复  |  直到 5 年前
        1
  •  1
  •   Derviş Kayımbaşıoğlu    5 年前

    试试这个方法

    return new DTO.Products[]{  
        DTO.Products { Id = 1, Name = "Cricket bat", Available = DateTime.Now, Code = "AC122333", Price = 1223.23M }
    };