我想知道:mapper抽象有多复杂?映射器从数据库获取数据不好吗?
比方说,我有一个控制器的动作
ActionResult Find(QueryInputModel query)
与模型看起来像这样
class QueryInputModel
{
public string Text {get;set;}
public IEnumerable<string> RegionCodes {get;set;}
}
除其他事项外,它的行动的责任,把输入模型到视图模型
class QueryViewModel
{
public string Text {get;set;}
public IEnumerable<Region> Regions {get;set;}
}
class Region
{
public string Name {get;set;}
public string Code {get;set;}
}
查看模型中的区域名称应该从数据库中获取输入模型中的代码。 现在它是由QueryMapper.Map(src)
方法,它看起来像这样
public QueryViewModel Map(QueryInputModel source)
{
var regions = regionRepository.Get(source.RegionCodes);
var result = new QueryViewModel {Text=source.Text, Regions=regions};
}
是否正确调用这样一个抽象一个映射做了什么?在单一方法中混合使用直接映射和db查询是否可行?
你对此有所怀疑是件好事。但是,如果你有疑问,你不需要我们的“前进”来改变它。只要将它改变成让你感觉更清洁的东西。 –