【发布时间】:2013-12-17 15:37:25
【问题描述】:
我有以下 LINQ 连接:
var query = _ABC.Table
.Join(_DEF.Table, cef => ...etc... })
.Join(_GHI.Table, extf => ...etc...})
.Select(jcefn=> new { XYZ = jcefn....etc...});
linq 很好,并且返回了我期望的结果(在 LINQ pad 中验证)。
我正在尝试将查询传递到具有此签名的扩展方法中:
public PagedList(IQueryable<T> source, int pageIndex, int pageSize)
{ ... }
所以我认为这是可以接受的:
var FPaged = new PagedList<MyObject>(query.ToList(), pageIndex, pageSize);
但这显然不会让编译器满意。意思是:
参数 1:无法从 'System.Collections.Generic.List' 转换为 'System.Linq.IQueryable 等。
很明显我需要更改我的 linq 匿名类型,但不确定要更改为什么?
请注意,为了简洁起见,我没有包含很多代码,因为我认为它不需要理解,但如果需要,我很乐意编辑它。
谢谢
【问题讨论】:
-
不要在查询中调用 ToList(),抱怨它不能从 IQueryable 转换为 List。
-
对??这就是我首先做的,它告诉我:无法从 'System.Linq.IQueryable
' 转换为 'System.Linq.IQueryable '