2
我创建的WCF服务通过映射实体框架类型返回数据合同类型。什么是放置Mapper.CreateMap调用的最佳位置?我应该在每项服务中完成这项服务,还是只在该服务项目中完成,还是应该在服务启动阶段执行?我应该在哪里为我的CreateMap调用AutoMapper?
想法?
我创建的WCF服务通过映射实体框架类型返回数据合同类型。什么是放置Mapper.CreateMap调用的最佳位置?我应该在每项服务中完成这项服务,还是只在该服务项目中完成,还是应该在服务启动阶段执行?我应该在哪里为我的CreateMap调用AutoMapper?
想法?
我觉得你可以在静态字段一次和缓存创建:
private static MapClass _MapInstance;
public static MapClass Map
{
get
{
if(_MapInstance == null)
_MapInstance = Mapper.CreateMap();
return _MapInstance;
}
}
而且据我所知创建映射器性能expencive操作,因为它可以使用代码生成,SOU你不应该每次打电话都要这样做。
是的,CreateMap是昂贵的,因为它预先做了所有的反射优化。它只需要为每个AppDomain调用一次。 – 2010-06-22 20:22:24