【问题标题】:Where in my application belong the DTO's that are used to export and import in structured format?在我的应用程序中,用于以结构化格式导出和导入的 DTO 属于哪里?
【发布时间】:2010-10-27 15:39:23
【问题描述】:

我们的用户需要能够以 CSV 格式导出数据、编辑部分记录并再次上传数据。数据不会映射到实体,您可以说对象图被展平以适应基于 Excel 的工作流。

现在这种情况发生在控制器中,因为我认为这些 DTO 类是视图模型。它闻起来,但我不知道如何解决这个问题。有没有我可以/应该遵循的模式?

谢谢!

【问题讨论】:

    标签: asp.net-mvc design-patterns csv dto


    【解决方案1】:

    首先将此逻辑抽象为包含必要方法的接口。针对 CSV 格式实现此接口。在控制器的构造函数中传递接口。使用 DI 注入正确的实现。在控制器动作中调用接口上的方法。

    如果您想直接从控制器操作返回 CSV,您可以编写自定义 ActionResult,例如 CsvActionResult,它将获取模型并将其序列化为 CSV,以便在您的控制器操作中 return new CsvResult(someModel)

    【讨论】:

    • +1 用于自定义 ActionResult。我将从那开始。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-03-06
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-02
    • 1970-01-01
    • 2020-11-30
    相关资源
    最近更新 更多