似乎WCF数据服务生成的一些查询将构建调用以下方法的表达式(可能只是一个存根):
DataServiceProviderMethods.Compare方法(String,String)
http://msdn.microsoft.com/en-us/library/ff452689.aspx
已经有了静态string.Compare(string,string)加上各种重载。
有人知道为什么这种新方法被认为是合理的吗?
发布于 2013-01-09 00:17:08
DataServiceProviderMethods类中的方法实际上并不打算直接调用。您引用的方法是占位符方法。在表达式树中使用dataServiceProviderMethods类。由于表达式树是在节点需要比较时生成的,因此该类中的方法将作为该节点中的占位符进行引用。实际的提供者需要解析表达式树,并用它们自己的方法修补这些方法。通过利用这些独特的方法,可以识别需要由提供者在表达式树中打补丁的方法。
这是一个很长的阅读过程。但如果你读了这篇文章,我想你会对此有更好的理解:http://msdn.microsoft.com/en-us/data/gg191846.aspx
(如果您想跳过大量说明,请在该文档中搜索"Queries in the UnTyped\RO Sample“)
https://stackoverflow.com/questions/14203978
复制相似问题