严重的是,我必须缺少一些简单的东西。任何帮助将不胜感激。IQueryable与IEnumerable ...扩展方法
这是场景: 1)创建一个名为DoSomething的IQueryable扩展方法,带有适当的签名(IQueryable,int x,int y)。 2)使用与IQueryable相同的签名创建名为DoSomething的IEnumerable扩展方法,EXCEPT接受/返回IEnumerable而不是IQueryable。 3)在IEnumerable扩展方法中,将enumerable转换为Queryable(AsQueryable)并尝试调用IQueryable.DoSomething方法。
出于某种原因,上述方案似乎对IEnumerable扩展方法而不是IQueryable进行递归调用。我不明白为什么。
我知道IQueryable扩展IEnumerable;但是,.NET扩展似乎检测并正常工作。例如,variable.AsQueryable()。至少通过intellisense(和ReSharper)将(1)调用Queryable扩展,而不是Enumerable扩展。当我写我自己的时候,它看起来不起作用,并且创建了一个无限循环。
你的问题现在有点陈旧了。任何更新?提供完整的示例可能有助于实现这一目标。 – DannyMeister