为名称以某物结尾的每个 class 创建映射

Create mapping for every class that its name ends with something

我想告诉 AutoMapper 映射每个 class 其名称以 Proxy 结尾的类似方式。我希望它摆脱 NHibernate Proxy classes 和 return 它的初始 POCO class.

我如何告诉 automapper 为我做那件事?

我不会依赖基于后缀的解决方案。相反,您可以根据 INHibernateProxy 界面创建地图。考虑到您已经有了从 EntityClass 到给定 PocoClass 的映射,它看起来像:

Mapper.CreateMap<INHibernateProxy, PocoClass>()
      .ConstructUsing(x => Mapper.Map<PocoClass>(Convert.ChangeType(x.HibernateLazyInitializer.GetImplementation(), x.HibernateLazyInitializer.PersistentClass)));