【问题标题】:WCF Service exposing DTO or Entity暴露 DTO 或实体的 WCF 服务
【发布时间】:2010-10-13 13:43:29
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: wpf wcf model


    【解决方案1】:

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

    【讨论】:

    • 好的,这可以是快速的解决方案......接下来在客户端我必须重新创建图表?所以在每一边我都必须转换 EF->DTO 和 DTO->EF ?
    • 是的。这就是你必须做的。
    • 该死,这不是我等待的答案... :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2016-03-25
    • 2016-02-11
    • 2021-07-16
    • 1970-01-01
    相关资源
    最近更新 更多