Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 使用RIA服务序列化实体_Silverlight_Entity Framework_Serialization_Wcf Ria Services - Fatal编程技术网

Silverlight 使用RIA服务序列化实体

Silverlight 使用RIA服务序列化实体,silverlight,entity-framework,serialization,wcf-ria-services,Silverlight,Entity Framework,Serialization,Wcf Ria Services,我有一个Silverlight应用程序,它需要相当多的数据才能运行,而且它需要所有的数据。它使用RIA服务(和实体框架)来获取所有这些信息。获取所有数据需要10-15秒,但数据每月只更改一次 我想做的是将数据放入独立的存储中,这样下次他们加载应用程序时,我就可以抓取它,看看它是否更新,如果不使用他们已经获得的数据,就可以节省大量的时间通过网络发送东西 我需要存储的图的结构(或多或少)是一个典型的树结构。模型有组件,组件有特征,特征有选项。我遇到的问题是,当我要求序列化这个根实体(模型)时,它只是

我有一个Silverlight应用程序,它需要相当多的数据才能运行,而且它需要所有的数据。它使用RIA服务(和实体框架)来获取所有这些信息。获取所有数据需要10-15秒,但数据每月只更改一次

我想做的是将数据放入独立的存储中,这样下次他们加载应用程序时,我就可以抓取它,看看它是否更新,如果不使用他们已经获得的数据,就可以节省大量的时间通过网络发送东西

我需要存储的图的结构(或多或少)是一个典型的树结构。模型有组件,组件有特征,特征有选项。我遇到的问题是,当我要求序列化这个根实体(模型)时,它只是序列化顶级对象,而忽略所有“子”对象


有人知道一种方便的方法让它序列化/反序列化整个图吗?

如果RIA服务是个问题,那么我可能有一个提示

要通过RIA传输对象集合,您需要对域模型进行一些调整

假设您有一张带有收据条目列表的收据。那你就这么做

public Receipt {
    public guid Id;
    public List<ReceiptEntry> Entries;
}


public ReceiptEntry {
    public guid ReceiptId;
}
公共收据{
公共guid Id;
公开名单条目;
}
公共收据条目{
公共guid接收ID;
}
您必须告诉RIA如何关联这些对象

[Include()]
[Composition()]
[Association("ReceiptEntries", "Id", "ReceiptId"]
public Receipt {
    public guid Id;
    public List<ReceiptEntry> Entries;
}
[Include()]
[组成()]
[协会(“收件人条目”、“Id”、“收件人Id”]
公众收据{
公共guid Id;
公开名单条目;
}
然后它将序列化对象列表


我可能会编写奇怪的语法,因为我已经习惯了VB.net,或者示例代码中有一些小错误,我只是把它扔掉了。但是如果问题是RIA没有按照它原来的方式发送对象,那么你应该调查这个场景。如果你还没有这样做。

如果RIA服务是问题所在,那么我可能会有一个提示

要通过RIA传输对象集合,您需要对域模型进行一些调整

假设你有一张收据,上面有一列收据条目,然后你就可以这样做了

public Receipt {
    public guid Id;
    public List<ReceiptEntry> Entries;
}


public ReceiptEntry {
    public guid ReceiptId;
}
公共收据{
公共guid Id;
公开名单条目;
}
公共收据条目{
公共guid接收ID;
}
您必须告诉RIA如何关联这些对象

[Include()]
[Composition()]
[Association("ReceiptEntries", "Id", "ReceiptId"]
public Receipt {
    public guid Id;
    public List<ReceiptEntry> Entries;
}
[Include()]
[组成()]
[协会(“收件人条目”、“Id”、“收件人Id”]
公众收据{
公共guid Id;
公开名单条目;
}
然后它将序列化对象列表


我可能会编写奇怪的语法,因为我已经习惯了VB.net,或者示例代码中有一些小错误,我只是把它扔掉了。但是如果问题是RIA没有按照它原来的方式发送对象,那么你应该调查这个场景。如果你还没有这样做。

不幸的是,RIA服务正在给我需要的对象,所以当应用程序在运行时,我可以访问整个图形,但当我尝试序列化图形时,它只会捕获顶级对象:(非常感谢您抽出时间来帮助我!不幸的是,RIA服务为我提供了所需的对象,因此当应用程序运行时,我可以访问整个图形,但当我尝试序列化图形时,它只会获取顶级对象。:(非常感谢您抽出时间来帮助我!