WCF Ria 服务和循环引用
我正在使用具有一些循环引用的旧数据库。当我从 SL4 客户端使用 Ria 服务时。 (通过我的 ORM 映射器生成的实体)我收到以下错误:
尝试序列化参数 http://tempuri 时出错.org/:GetPublicationPagesResult。 InnerException 消息是“类型‘xxx.Entities.TblPublicationPage’的对象图包含循环,如果禁用引用跟踪,则无法序列化”。
[Query]
public IQueryable<TblPublicationPage> GetPublicationPages(int publicationId)
{
return this.PublicationLogic.Value.GetPublicationPages(publicationId);
}
我知道如何通过 CyclicReferencesAware 属性或 IsRefence=true 为普通 WCF 启用它。但我不知道如何使用 WCF Ria 服务来做到这一点。
I'm using a legacy database that has some cyclic references. When I consume my Ria service from a SL4 client. (generated entities through my ORM mapper) I get the following error:
There was an error while trying to serialize parameter http://tempuri.org/:GetPublicationPagesResult. The InnerException message was 'Object graph for type 'xxx.Entities.TblPublicationPage' contains cycles and cannot be serialized if reference tracking is disabled.
[Query]
public IQueryable<TblPublicationPage> GetPublicationPages(int publicationId)
{
return this.PublicationLogic.Value.GetPublicationPages(publicationId);
}
I know how to enable it for plain WCF through CyclicReferencesAware attribute or IsRefence=true. But I can't figure out how to do this with WCF Ria Services.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我现在更好地了解 WCF Ria 服务,我只是尝试像在普通 WCF 中那样修复它,并向生成的实体添加元数据类:
此时唯一的缺点是我必须用 [ 装饰元数据类中的每个属性DataMember] 属性...
I now understand WCF Ria Services better, I just tried to fix it like I would do it in plain WCF and added a metadataclass to my generated entities:
Only disadvantages at this point is I have to decorate every property in the metadata class with a [DataMember] attribute...
使用 [CyclicReferencesAware(true)]
Use [CyclicReferencesAware(true)]