如果这是一个属性实现,其中Context
是实体框架DbContext
而Tours
是DbSet
...
public IQueryable ListQuery => Context.Tours;
...然后调用代码继续查询的能力有限。例如,我甚至无法在结果上调用ToList()
。
如何返回未键入的查询,以便我可以对结果执行Take
和Skip
之类的操作,而不会让调用代码知道类型是什么?
我不希望该类型从界面中泄漏出来,因为我的数据访问代码特别依赖于一个EF模型。
答案 0 :(得分:0)
我将结果转换为IQueryable<object>
。我不确定为什么这是允许的。是因为它的协变性吗?