LinqPad如何支持WCF数据服务?

时间:2010-05-25 07:45:57

标签: wcf reflection.emit wcf-data-services linqpad

LinqPad支持WCF数据服务。如果您指定了网址,例如http://services.odata.org/Northwind/Northwind.svc/。它将列出所有可用的数据对象,您可以查询它们。我猜LinqPad在运行时通过reflection.Emit生成所有可用的数据类。

我想知道谁可以告诉我如何这样做。或者也许有人以前做过。

感谢任何反馈。

2 个答案:

答案 0 :(得分:2)

这是我用Reflector检查代码后得到的:

LinqPad使用内置的EntityClassGenerator类生成代码,然后使用CSharpCodeProvider进行编译。没有使用反射发射。 (但是,在LINQ-2-SQL的情况下,它使用反射发射来生成代码。)

对于Vitek建议的ODataExplorer工具,它似乎根本不生成代码。它不需要,因为它与服务之间的所有交互都是通过REST API而不是LINQ完成的。因此,不需要强类型数据上下文。

答案 1 :(得分:0)

我很确定LinqPad会按照你的建议生成类,但我还没有看到源代码。但如果您对类似的源代码感兴趣,请查看OData资源管理器:http://blogs.msdn.com/b/phaniraj/archive/2010/03/17/announcing-the-odata-explorer.aspx