3
有OData服務使用WCF數據服務(ADO.NET數據服務)可用。 我需要以編程方式使用OData服務。從某種意義上說,我不想使用DataSvcUtil來創建代理。相反在運行時我需要生成OData代理。OData代理的編程式生成
對於WSDL,可以使用CodeDOM和System.ServiceModel.Discovery生成代理。
我很想知道是否有任何生成OData代理的程序化方式。
感謝
有OData服務使用WCF數據服務(ADO.NET數據服務)可用。 我需要以編程方式使用OData服務。從某種意義上說,我不想使用DataSvcUtil來創建代理。相反在運行時我需要生成OData代理。OData代理的編程式生成
對於WSDL,可以使用CodeDOM和System.ServiceModel.Discovery生成代理。
我很想知道是否有任何生成OData代理的程序化方式。
感謝
DataSvcUtil使用這個類http://msdn.microsoft.com/en-us/library/system.data.services.design.entityclassgenerator_members.aspx生成代碼。所以你可以做同樣的事情。生成源代碼後,調用一個編譯器(我認爲CodeDOM也可以這樣做)並加載結果dll。 它需要一個XmlReader,所以你將不得不從服務的$ metadata enpoint創建一個XmlReader,但這很簡單。
該死!我非常接近這個工作,但似乎EntityClassGenerator不會生成實現INotifyPropertyChanged的實體類型,這是我需要的,以便能夠在我的應用程序中使用代理。在EntityClassGenerator上看不到任何配置選項。 – lesscode 2012-06-20 20:20:42
您是否嘗試設置EntityClassGenerator.UseDataServiceCollection = true?它支持在生成的類上進行數據綁定,其中一部分應該是實現INotifyPropertyChanged。 – 2012-06-21 09:14:51
是的,謝謝。我發佈了幾分鐘後 - 該屬性的名稱誤導了我...我的動態數據服務客戶端現在工作很好,只有很少的代碼。感謝您的原始提示! – lesscode 2012-06-21 13:00:51