6

我已阅读有关此主题的问题和答案,但仍有一些问题没有答案。

如果我创建一个将实体转换为 DTO 的方法,我会遇到一些循环调用方法(可能是由模型中的错误引起的),例如:

产品类有一个属性供应商,它指向一个供应商类,该类包含一个包含所有提供产品的列表属性。所以如果我创建一个返回 ProductDTO 类的GetProductDTO(Product entity)方法,我将不得不调用GetSupplierDTO(Supplier entity )对于每个产品,但最后一个方法必须为提供的产品列表中的每个产品调用 GetProductDTO...

总之,我正在寻找一种模式或最佳实践来创建 EntityModel -> WCF 服务 -> Prism WPF 应用程序。

谢谢

4

1 回答 1

5

通常,出于 DTO 目的,您可能只是选择不序列化任何“父”属性。通常,您会看到除了严格关联的数据之外没有导航属性的 DTO (例如,order-header => order-detail,但您不会有 order-header => customer - 只是客户的密钥;您将获取客户单独)。使用这种方法,序列化/反序列化任何图形都有一条单向路径,它应该可以正常工作。

于 2009-03-16T08:17:55.447 回答