2014-06-10 118 views
0

我是這方面的大一新生,目前正在使用WCF/Odata客戶端來測試odata服務。wcf odata客戶端 - 如何忽略請求中的空屬性

當試圖通過「DataServiceContext」添加一些新的實體時,沒有賦值的所有屬性將默認爲空值,沒有問題。當通過發送請求執行「add」操作時,XML/JSON主體將始終包含「null」屬性,這將導致一些問題。出於某種歷史原因,我們無法更改我們的服務。

有什麼辦法可以配置「DataServiceContext」的行爲,以在將實體對象序列化爲JSON/XML時忽略所有這些空屬性?非常感謝!

問候, 彼得

回答

3

恐怕沒有這樣的標誌,讓你忽略那些空的屬性。

但您可以嘗試RequestPipeline解決。

dsc.Configurations.RequestPipeline.OnEntryStarting((arg) => 
{ 
    arg.Entry.Properties = arg.Entry.Properties.Where((prop) => prop.Value != null); 
}); 
+0

您提供的工作方式,非常感謝Layla! – user3725460