我在使用 RIA 服务和带有 Silverlight 的 EF 4.1 将相关实体加载到客户端时遇到问题。
我目前在我的 DbDomainService 上使用 Include() 方法和一个 Expression 参数,我发现当单步执行我的服务时,相关实体加载得很好。但是,当可查询结果返回给客户端时,没有相关实体被加载——它们是空的。我的所有实体都标有 [DataMember] 属性,因此我假设这不是序列化问题。此外,我的 DbDomainService 查询方法标有 [Query] 属性。
我想知道在使用带有 EF 4.1 代码的 RIA 服务时,是否有任何必须在客户端上设置的特定内容?我一定是遗漏了什么,但我不确定是什么。
如有任何帮助,我们将不胜感激。
谢谢,
音效
最佳答案
虽然您可能在服务调用中使用了 .Include()
,但您还必须添加 [Include]
同时创建的元数据类中的属性。
.Include()
语句告诉 EF 生成检索数据所需的 SQL,而 Include
属性告诉 WCF RIA 服务确保实体类也在客户端上创建。
一旦数据到达客户端,它还需要知道将其放入什么类型的结构中。
HTH
关于entity-framework - 无法使用 RIA 服务在客户端上加载相关实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536164/