我已经进入RIA服务,因为我认为这将简化处理我希望构建的Web应用程序的服务层。我看到很多示例展示了如何创建DomainService类,这些类公开和使用具有某种关系数据库支持的实体,因此具有外键关系。但是,我想知道如何公开和使用普通对象图...包含对彼此的引用但没有外键的对象。
例如,假设我想要一个名为“GetFolderInformation(string pathToFolder)”的服务操作。我希望这返回一个名为“FolderInformation”的自定义对象,结构为:
- string Name
- IEnumerable<FileInformation> Files
我无法让这个工作,因为看起来RIA想要处理具有外键关系的实体。为什么?为什么序列化程序不能只看到我的对象引用并在另一端的代理中重新创建它?
数据存在于服务层之后,不一定具有外键关系......例如文件夹/文件。
编辑:我意识到我没有问过我的问题!我的问题是,有没有办法做我想做的事情?答案 0 :(得分:0)
这(复杂类型,不是关于实体关联的对象图)是我们想要的,但没有为v1做出削减。
这是因为要处理的不仅仅是seralization,这可能是场景中最简单的部分。更多涉及代码生成客户端类型,支持更改通知,跟踪,撤消等等。
有办法解决方法。通常涉及在边界上展平并在平坦的数据集的另一侧重新创建图形。即使技术上可行,它在应用程序代码中也不一定是直截了当的。