在 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
以及Deserialize
和Serialize
方法从XML 加载和保存。
AutoMapper可以进行克隆。
【讨论】:
以上是关于在 DTO 类中自动实现持久性/克隆功能的主要内容,如果未能解决你的问题,请参考以下文章
简述VO(View Object,视图对象)DTO(Data Transfer Object,数据传输对象)PO(Persistent Object,持久化对象)