首页 > 解决方案 > PagedList - 编译器错误 CS0266 - 无法隐式转换类型

问题描述

我有以下问题:

ViewModel
public class YarnListViewModel
{
    public IPagedList<YarnFullAdmin> YarnList { get; set; }
}

Controller
var yarns = _context.YarnFullAdmins
    .Include(y => y.Brand)
    .Include(y => y.ColorProduct)
    .Where(y => y.Id > 0)
    .Select(y => new {
        y.Id,
        y.BrandId,
        y.Brand,
        y.ProductName
     });

var viewModel = new YarnListViewModel
{
    YarnList = yarns.ToPagedList(pageNumber, pageSize)
};

return View(viewModel);

yarns.ToPagedList(pageNumber, pageSize) 出错。如果我不在查询中进行选择,它工作正常。提前致谢。

在@devNull 发表评论后,我进行了更正:

var yarns = _context.YarnFullAdmins
    .Include(y => y.Brand)
    .Include(y => y.ColorProduct)
    .Where(y => y.Id > 0)
    .Select(y => new {
        Id = y.Id,
        BrandId = y.BrandId,
        Brand = y.Brand,
        ProductName = y.ProductName
     });

现在我有一个新错误

var filterbranddb = _context.Brands
    .Where(b => yarns
    .Select(y => y.BrandId)
    .Contains(b.Id))
    .OrderBy(b => b.BrandName)
    .ToList()

实体或复杂类型 ... 不能在 LINQ to Entities 查询中构造。

标签: c#model-view-controllerpagedlist

解决方案


推荐阅读