linq - 无法将类型 ‘System.Linq.IQueryable<AnonymousType#1>’ 隐式转换为 ‘System.Collections.Generic.IEnumerable<SubCateViewModel>’

标签 linq asp.net-mvc-4

当我尝试连接三个表 ProductPhotoProductProductProductPhoto 时,出现此问题。我尝试了很多案例,但都没有成功。任何人都可以帮助我摆脱这个困境吗?感谢您的回复!

private IEnumerable<SubCateViewModel> GetSubProduct()
            {
                var context = new AdvenDBEntities();
                var subcate = (from a in context.ProductPhotoes
                              join b in context.ProductProductPhotoes on a.ProductPhotoID equals b.ProductPhotoID
                              join c in context.Products on b.ProductID equals c.ProductID
                              join d in context.ProductSubcategories on c.ProductSubcategoryID equals d.ProductSubcategoryID
                              select new
                              {
                                  a.ProductPhotoID,
                                  a.ThumbnailPhotoFileName,
                                  c.ProductID,
                                  c.Name,
                                  d.NameofBike,
                                  d.isSelected,
                              }).AsQueryable();
                         return subcate;
            }

最佳答案

试试下面的代码伙计..

private IEnumerable<SubCateViewModel> GetSubProduct()
                {
                    var context = new AdvenDBEntities();
                    var subcate = (from a in context.ProductPhotoes
                                  join b in context.ProductProductPhotoes on a.ProductPhotoID equals b.ProductPhotoID
                                  join c in context.Products on b.ProductID equals c.ProductID
                                  join d in context.ProductSubcategories on c.ProductSubcategoryID equals d.ProductSubcategoryID
                                  select new SubCateViewModel
                                  {
                                     ProductPhotoID =  a.ProductPhotoID,
                                      ThumbnailPhotoFileName = a.ThumbnailPhotoFileName,
                                     ProductID = c.ProductID,
                                      Name = c.Name,
                                      NameofBike = d.NameofBike,
                                      isSelected = d.isSelected,
                                  });
                             return subcate.AsEnumerable();
                }

关于linq - 无法将类型 ‘System.Linq.IQueryable<AnonymousType#1>’ 隐式转换为 ‘System.Collections.Generic.IEnumerable<SubCateViewModel>’,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22550278/

相关文章:

c# - 在 LINQ 中使用 select new 返回列表

c# - 当查询没有返回记录时,会抛出 Linq Cannot be Null 错误

c# - 根据其属性之一从 C# 列表中删除重复项

asp.net-mvc - 如何从 Forms Authentication 迁移到 ASP .NET Identity

asp.net-mvc-4 - 在 Asp Mvc 网站中显示默认路由的完整 url

c# - 为什么这个 LINQ 查询可以编译?

mysql - 我想检查已经申请的休假日期

caching - ASP.NET MVC AntiForgeryToken 和缓存

c# - 如何在 MVC razor View 中创建禁用的文本框

javascript - 是否可以获取 View 上每个 div 的坐标并将它们保存在 javascript onunload() 函数中的本地存储中?