我正在使用Asp.net mvc应用程序中的Automapper。 关于Automapper的用法,我有一个问题。
在很多示例代码中,我看到人们直接在操作中使用映射器 Mapper.Map<Target>(source)
,我不确定这是否是一个好的实践方法。从我的角度来看,我希望将Mapper
代码包装在代理对象中,而不是直接让它与控制器
通信。
public BankflowData CreateBankflowAdjustments(BankflowData addedBankFlow)
{
var bankflow = Mapper.Map<Bankflow>(addedBankFlow);
var newBankflow = Underlying.CreateBankFlowAdjustments(bankflow);
return Mapper.Map<BankflowData>(newBankflow);
}
在这个例子中,控制器对于类
Bankflow
一无所知,它所知道的只有数据传输对象BankflowData
。我想知道,在使用自动映射器的应用程序中,这是否是一个好的实践?
Cashflow
的领域对象,它是一个相当大的对象,同时我还有一个轻量级的DTO对象CashflowDTO
。服务对象只接受领域对象作为参数或结果。 - Sean