请教领域对象与DTO转换的方法

zhoucong1020 2012-08-16 04:23:34
现在我的单个对象转化用DTO的静态方法实现,我可以为每种类型的DTO都实现该方法,因为他们具体属性不同,实现肯定不同

public class CardDto
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string InnerId { get; set; }

public static CardDto CreateFromModel(Card card)
{
CardDto dto = new CardDto()
{
Id = card.Id,
Name = card.Name,
Description = card.Description,
InnerId = card.InnerId
};

return dto;
}
}

但是问题来了,如果是List的话,就会有重复代码

public static List<CardDto> ConvertListToDto(IList list)
{
List<CardDto> result = new List<CardDto>();
foreach (Card card in list)
{
result.Add(CardDto.CreateFromModel(card));
}

return result;
}

对不同的DTO而言,该过程的实现除了类型不同,其余代码都不变,有没有什么好办法可以避免这样的重复代码?
...全文
367 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
peiter 2012-10-20
  • 打赏
  • 举报
回复
使用AutoMapper实现Dto和Model的自由转换
http://www.2cto.com/kf/201107/96586.html
modev 2012-10-15
  • 打赏
  • 举报
回复
关注中,等待高手。。。

111,082

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧