InvalidCastException:指定的强制转换无效。 lambda_method

时间:2018-05-15 11:07:33

标签: asp.net asp.net-mvc asp.net-core asp.net-core-mvc

我的项目运作良好,但现在它给了我这个错误。

enter image description here

控制器为HomeController

public IActionResult Index(int page=1)
{
    IPagedList<ProductTbl> productList = _context.ProductTbl.OrderByDescending(e => e.Id).ToPagedList<ProductTbl>(25, page); //using pagination
    return View(productList);
}

同样,我在以下代码中遇到同样的错误。

 List<ProductTbl> products = _context.ProductTbl.ToList();

但是,我没有在以下代码行中收到错误。

List<CityTbl> cities = _context.CityTbl.ToList();

两行代码都在同一个控制器操作方法中。

这是我的DbContext

public class MyDbContext : DbContext  
{
    public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
    {

    }
    public DbSet<ProductTbl> ProductTbl { get; set; }
    public DbSet<CityTbl> CityTbl { get; set; }
}

1 个答案:

答案 0 :(得分:0)

尝试使用_context.ProductTbl.OrderByDescending(e => e.Id).ToPagedList(25, page);

另外我可能错了,但看起来你的pagedList转换的参数是错误的,它应该看起来像.ToPagedList(pageIndex, pageSize);所以在你的情况下它会是.ToPagedList(page, 25);

另外,我建议您阅读有关InvalidCastException

错误的文档