无法使用RIA服务在客户端上加载相关实体

时间:2011-09-24 00:36:08

标签: entity-framework silverlight-4.0 wcf-ria-services

我无法使用RIA服务和带有Silverlight的EF 4.1在客户端上加载相关实体。

我目前正在我的DbDomainService上使用带有Expression参数的Include()方法,并且发现当单步执行我的服务时,相关实体的加载就好了。但是,当Queryable结果返回给客户端时,不会加载相关实体 - 它们为空。我的所有实体都标有[DataMember]属性,因此我假设它不是序列化问题。此外,我的DbDomainService查询方法标有[Query]属性。

我想知道在首次使用带有EF 4.1代码的RIA服务时是否有必要在客户端上设置任何具体内容?我一定错过了什么,但我不确定是什么。

任何帮助都将不胜感激。

谢谢,

sfx

1 个答案:

答案 0 :(得分:5)

虽然您可能在服务调用中使用了.Include(),但您还必须在同时创建的元数据类中添加[Include]属性。

.Include()语句告诉EF生成检索数据所需的SQL,而Include属性告诉WCF RIA Services确保在客户端上也创建了实体类。

一旦数据到达客户端,它就需要知道将它放入哪种类型的结构。

HTH