考虑以下:T[] itemArray = // initialized valuesIQueryable<T> itemQuery = itemArray.AsQueryable().Where(*/some query*/).Skip(5).Etc() ...是否可以从itemArray获取基础集合或数据集(在本例中为itemQuery)?在我看来,如果对查询表达式进行求值,则必须针对原始集合进行求值,因此该集合必须存储在IQueryable中或由IQueryable引用。如何才能做到这一点?注意:这是使用MongoDB linq驱动程序(来自10gen)的较大项目的一部分,在该项目中,我们尝试从基于mongo集合的IQueryable中提取原始MongoCollection。尽管我们专门针对MongoDB使用IQueryable ,但此问题的答案应该是IQueryable 固有的,因此应独立于MongoDB驱动程序。 最佳答案 IQueryable最有可能引用了基础集合(可能是通过多个间接层),但是它不会公开显示,因此您将无法访问它,至少在任何情况下都无法访问它。我认为合理的方法,而不是非常非常混乱的hack。关于c# - 如何从IQueryable <T>获取原始集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12715827/ 10-13 08:27