在 DTO 类中自动实现持久性/克隆功能

Posted

技术标签:

【中文标题】在 DTO 类中自动实现持久性/克隆功能【英文标题】:Auto-implement persistence/clone functionality in DTO classes 【发布时间】:2018-09-18 23:20:52 【问题描述】:

我需要创建包含简单属性并需要实现以下功能的 DTO 对象:

从 XML 节点加载 保存到 XML 节点 克隆

对每个 DTO 一遍又一遍地编写这些函数会非常乏味且容易出错,我认为因此我会考虑替代方案。

    使用反射,我猜会很慢 C# 代码生成作为构建前或构建后步骤(两者都需要构建解决方案两次,因为我需要一个已编译的类来获取要生成哪些代码的信息) 使用 CodeDom?我认为这是最复杂的解决方案

完成此类任务的最佳/最简单常用方法是什么?如何确定选择哪一个或有其他选择?

【问题讨论】:

【参考方案1】:

您可以使用System.Xml.Serialization.XmlSerializer 以及DeserializeSerialize 方法从XML 加载和保存。

AutoMapper可以进行克隆。

【讨论】:

以上是关于在 DTO 类中自动实现持久性/克隆功能的主要内容,如果未能解决你的问题,请参考以下文章

我应该将实体(持久)对象转换为 DTO 对象吗?

用简单的 POJO 或 DTO 对象替换这个持久化实体?

如何使用持久性克隆 java 对象

简述VO(View Object,视图对象)DTO(Data Transfer Object,数据传输对象)PO(Persistent Object,持久化对象)

如何持久化实体类中的数据并结合数据传输对象?

安卓学习之持久化