LinqPad支持WCF数据服务。如果您指定了网址,例如http://services.odata.org/Northwind/Northwind.svc/。它将列出所有可用的数据对象,您可以查询它们。我猜LinqPad在运行时通过reflection.Emit生成所有可用的数据类。
我想知道谁可以告诉我如何这样做。或者也许有人以前做过。
感谢任何反馈。
应
答案 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