如果实体具有dataservicecollection属性,则wp7 odata v2 dataservicestate restore方法抛出异常

时间:2011-01-07 16:49:40

标签: windows-phone-7 odata wcf-data-services

我有一个使用带有DataServiceState类的ODATA v2库的WP7应用程序,我可以调用DataServiceState.Save方法在逻辑删除期间存储DataServiceCollection。我还可以调用DataServiceState.Restore方法并成功还原已保存的DataServiceCollection。

当已保存的DataServiceCollection类型包含一个或多个已加载/展开的Collection属性时,会出现问题。

如果我不扩展这些属性(使用Entities.BeginLoadProperty方法),它可以正常工作。但是如果我展开一个或多个属性,当我尝试恢复集合时,我会得到以下异常

An item could not be added to the collection. When items in a DataServiceCollection are tracked by the DataServiceContext, new items cannot be added before items have been loaded into the collection.

不确定我缺少什么 - DataServiceState类应该解决尝试反序列化ODATA DataServiceCollections的问题 - 这似乎工作一层深,但一旦达到2级 - 抛出异常

感谢 迈克尔

1 个答案:

答案 0 :(得分:0)

根据这篇文章:http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/0806c41a-2699-4390-8aaf-14b9c75a9dca WP7的ODATA库不能与当前版本中的$ expand选项一起使用,他们计划在下一版本中更好地支持墓碑。