在什么情况下RIA服务导航属性加载?

时间:2010-10-21 13:02:00

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

我们有一个Silverlight 4客户端连接到RIA服务。它基于VS 2010中的标准“业务应用程序”Silverlight应用程序。我们通过RIA服务发送给客户端的对象是EF 4实体,它们是由我们的edmx由T4生成的POCO对象。我们的RIA服务是LinqToEntitiesDomainService<>我们的linq存储库。

我们有两个实体,它们具有相似的结构但不相关。两者都具有导航属性,表示另一个实体的单个实例。使用标记为[Query]的方法检索两者。对于一个实体,当我们尝试访问其值时,始终正确填充导航属性;对于另一个它永远不会填充,它始终保持为空(好像它保持一个指向空实体的EntityRef<>对象)。我们已经验证了edmx中的关系以及客户端生成的代码,两者似乎都共享相同的结构,因此我们不理解为什么会出现这种行为差异。任何人都可以对这个问题有所了解吗?

非常感谢,

罗伯特

2 个答案:

答案 0 :(得分:0)

无法给出明确答案,但您可以尝试检查以下内容:

  • 数据库中是否存在空的对象
  • 查询参数是否正确
  • 您是否在服务器端进行测试以查看数据是否可用
  • 其中一个对象
  • 是否缺少某个属性

答案 1 :(得分:0)

您是否在其中一个实体/域服务方法中使用“[Include]”属性和“Include”功能而不是另一个?如果是这样,对类似问题的回答可能会对您有所帮助:If you create a DomainService, exposing an entity, can you access aggregate entities?