1

是否可以在 C# 中公开 IQueryable 的方法上仅允许某些属性可过滤。

或者,我是否能够监视 where 子句并只允许通过过滤某些属性的子句?

4

1 回答 1

0

IQueryable公开Provider属性,其类型为IQueryProvider. 该查询提供程序负责最终对查询进行操作并返回适当的结果(尽管通常大部分必要的工作都委托给了帮助类,但协调流程的是查询提供程序)。

因此,对这个问题的简短回答是:要在查询过程中插入自定义逻辑,您需要控制IQueryable.Provider实现并让它返回最终实现此逻辑的查询提供程序。

如果您打算构建自定义查询提供程序,请查看此MSDN 演练以及Matt Warren 撰写的精彩系列博客文章以获取更多信息。

于 2012-06-24T18:52:05.607 回答