我有一个 Product 对象,其属性是工作流类型的集合。在我对 domaincontext 对象的“GetProducts”方法中,我在 return 语句处设置了一个断点,以查看是否填充了工作流集合。
这是。
在客户端,我在另一个断点检查 Context.Products[0].Workflows,我看到 0 个结果。有没有办法保留这些嵌套数据以供客户端使用,或者 RIA 服务是否禁止这样做?
我有一个 Product 对象,其属性是工作流类型的集合。在我对 domaincontext 对象的“GetProducts”方法中,我在 return 语句处设置了一个断点,以查看是否填充了工作流集合。
这是。
在客户端,我在另一个断点检查 Context.Products[0].Workflows,我看到 0 个结果。有没有办法保留这些嵌套数据以供客户端使用,或者 RIA 服务是否禁止这样做?
如果您拥有或可以下载 RiaServicesOverviewPreview.pdf 文档,第 4.8 节详细说明了如何执行此操作。基本总结吧。
确保您的 L2S 查询指定了 .LoadWith<>() 参数。延迟加载不适用于 RIA 服务,因此您必须使用隐式加载。
您需要将“IncludeAttribute”应用于关联成员。例如,在 Product 元数据类中的 Workflows 字段中添加 [Include] 属性。
确保您的工作流(子)类型公开为客户端类型,以便生成到客户端。
您可以在此处获取文档:http: //www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564- b0c3-27972bcaabce&displaylang=en
我应该踢自己。我意识到我需要在 DataService.metadata.cs 文件中的 Product 属性中添加“[Include]”,现在它被发送到客户端。