Linq to Entities 没有泛型参数

Linq to Entities without generic parameter

如果这是 属性 实现,其中 Context 是 Entity Framework DbContext 并且 ToursDbSet...

public IQueryable ListQuery => Context.Tours;

... 那么调用代码继续查询的能力有限。例如,我什至无法对结果调用 ToList()

如何 return 一个未类型化的查询,以便我可以对结果执行 TakeSkip 之类的操作,而调用代码不知道类型是什么?

我不希望类型从接口中泄漏出来,因为这样一来我的数据访问代码就特别绑定到一个 EF 模型。

我把结果投给IQueryable<object>。我不确定为什么这是允许的。是因为协变吗?