我正在開發Silverlight應用程序。它使用WCF服務將EF 4自跟蹤實體從客戶端傳遞到服務器。
閱讀方法正常工作,從WCF服務向Silverlight客戶端提供Trackable實體集合。即使基本更新工作正常。我可以修改「OfficeEntity」的屬性,並將其作爲參數傳遞給WCF更新方法。 我們遇到的問題是當我們更新一個實體的集合時,我們得到下面的反序列化錯誤。例如,如果「OfficeEntity」具有導航屬性「位置」,該位置是「位置實體」的集合,並且我們向「位置」屬性添加新的「位置」並保存它,則會得到反序列化異常。WCF,Silverlight 5,自追蹤實體和(de)序列化
officeEntity.Locations.Add(new Location(){LocationName =「Test 1」});
client.SaveAsync(officeEntity);
異常詳細信息:
格式化,而試圖反序列化消息引發了異常: 有嘗試反序列化參數的錯誤:OfficeEntity。 InnerException>消息是 '反序列化Entities.OfficeEntity類型的對象時出錯。 預期從命名空間>'http://schemas.datacontract.org/2004/07/Entities'結束元素'ObjectsAddedToCollectionProperties'。 從命名空間>'http://schemas.datacontract.org/2004/07/Entities'找到元素'b:AddedObjectsForProperty'。'
看來問題在於反序列化更改跟蹤屬性。任何想法是什麼導致這個或我可以修復它?
感謝, 傑森
你創建一個使用添加服務引用Silverlight的代理產生影響? –
是的。該代理是通過「添加服務參考」生成的。 – IUJPJ