LinqPad支持WCF数据服务。如果您分配了一个URL,例如http://services.odata.org/Northwind/Northwind.svc/。它将列出所有可用的数据对象,并可以查询它们。我想LinqPad在运行时通过reflection.Emit生成所有可用的数据类。LinqPad如何支持WCF数据服务?
我想知道谁能告诉我如何做到这一点。或者也许有人以前做过。
任何反馈意见。
英
LinqPad支持WCF数据服务。如果您分配了一个URL,例如http://services.odata.org/Northwind/Northwind.svc/。它将列出所有可用的数据对象,并可以查询它们。我想LinqPad在运行时通过reflection.Emit生成所有可用的数据类。LinqPad如何支持WCF数据服务?
我想知道谁能告诉我如何做到这一点。或者也许有人以前做过。
任何反馈意见。
英
这就是我检查代码与反射后得到:
LinqPad使用内置EntityClassGenerator类生成代码,然后用CSharpCodeProvider进行编译。不使用反射发射。 (虽然它使用反射发射来生成LINQ-2-SQL的代码)
至于Vitek建议的ODataExplorer工具,它似乎根本没有生成代码。它并不需要,因为它和服务之间的所有交互都是通过REST API完成的,而不是LINQ。所以不需要强类型的数据上下文。
我敢肯定,LinqPad生成的类如你所说的,但我还没有看到源代码。但是,如果你有兴趣在类似的源代码,看看OData的探险家:http://blogs.msdn.com/b/phaniraj/archive/2010/03/17/announcing-the-odata-explorer.aspx
更新后的第一个链接:http://msdn.microsoft.com/en-us/library/system.data.entity.design.entityclassgenerator.aspx(也没有链接字母'r',哪个驱动器每当我看着它时,我都会变得更疯狂:D)。 – 2011-01-04 19:20:42
谢谢,詹姆斯。更新。 – 2011-01-05 09:20:13