从Linqpad调用OData服务操作

ske*_*eej 5 c# service-operations linqpad wcf-data-services odata

有谁知道它是否可能,如果有的话,通过linqpad调用服务操作的语法是什么?

另外,当我使用linqpad调用它时,我可以使用命名参数吗?那将是很好的b/c我在服务操作中有很多参数,我不想指定每一个.

谢谢!

Joe*_*ari 7

不幸的是,这是不可能的:LINQPad依赖于System.Data.Services.Design.dll中的.NET WCF客户端和EntityClassGenerator,它们并不真正支持服务操作(从Framework 4.0开始).

此阶段的解决方法与您在Visual Studio中编写时所执行的操作相同,并在此处进行了详细说明.

因此,您可以在LINQPad中键入以下内容以调用GetContacts(string firstName)操作:

this.Execute<Contact> (new Uri ("GetContacts?firstName='John'", UriKind.Relative))
Run Code Online (Sandbox Code Playgroud)

或者,如果服务返回一系列对象:

CreateQuery<Contact>("GetContacts").AddQueryOption("firstName", "'John'")
Run Code Online (Sandbox Code Playgroud)