WCF数据服务提供者Methods.Compare()vs string.Compare()

时间:2013-01-07 21:03:14

标签: c# .net wcf wcf-data-services

看来WCF数据服务生成的一些查询将构建调用以下方法的表达式(可能只是一个存根):

DataServiceProviderMethods.Compare方法(字符串,字符串)
http://msdn.microsoft.com/en-us/library/ff452689.aspx

已经存在静态string.Compare(字符串,字符串)加上各种重载。

有谁知道为什么这种新方法被认为是合理的?

1 个答案:

答案 0 :(得分:0)

DataServiceProviderMethods类中的方法实际上并不是要直接调用。您指的方法是占位符方法。 dataServiceProviderMethods类用于表达式树。如果节点需要比较时生成表达式树,则此类中的方法将作为该节点中的占位符引用。期望实际的提供程序通过表达式树解析并使用自己的方法修补这些方法。通过利用这些独特的方法,可以确定提供者需要在表达式树中修补的方法。

这是一个很长的阅读...但你会得到一个更好的理解,我想如果你读到这个: http://msdn.microsoft.com/en-us/data/gg191846.aspx

(如果你想跳过很多解释,请在该文档中搜索“UnTyped \ RO Sample中的查询”)