我应该在哪里为AutoMapper调用CreateMap?

时间:2010-06-22 17:40:28

标签: wcf .net-4.0 automapper

我正在创建通过映射实体框架类型返回数据协定类型的WCF服务。放置Mapper.CreateMap的最佳位置是什么?我应该在每项服务中只为该服务执行此操作,还是应该在服务启动时执行此操作?

思想?

1 个答案:

答案 0 :(得分:1)

我认为您可以创建一次并在静态字段中缓存:

private static MapClass _MapInstance;

public static MapClass Map
{
    get
    {
        if(_MapInstance == null)
           _MapInstance = Mapper.CreateMap();
        return _MapInstance;
    }
}

另外据我所知,创建mapper是性能成本高的操作,因为它可能会使用代码生成,所以你不应该在每次调用时都这样做。