将dto的内容复制到另一个类似的dto

时间:2016-09-02 18:43:06

标签: asp.net-mvc c#-4.0 dto

我有2个非常相似的dto对象。我在下面展示了一个示例代码,但我正在使用的实际2 dto中包含39和40个属性。 我的问题是,有更简单的方法将QuoteDto的内容复制到Quote2Dto。

我正在调用遗留项目,它给了我QuoteDto对象。我不得不打电话给一个只接受Quote2Dto对象的新的休息服务项目

如果您需要更多代码,请与我们联系。

iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d 'client ip' --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s 'client ip' --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

2 个答案:

答案 0 :(得分:1)

通常使用Automapper(或类似的库)。它可以复制相同的属性,无需任何预配置。但您始终可以配置更高级的属性映射。

Here you can find Getting Started Guide.

答案 1 :(得分:0)

这里有两个选择。

您的第一个选择是使用AutoMapper复制属性。如果您需要更高级的配置,AutoMapper有一些高级配置。

第二个选项是在DTO中创建一个方法,该方法接受另一个DTO并复制属性。(基本上手动复制属性。)

它看起来像这样:

var query = {
   [MPN]: "yourValue"
}; // <- {"manufacturesPn":"yourValue"} 

(如果你已经拥有了dto的数据,那么这就是。)

如果您不打算做那么多的映射,我建议使用第二种方法。