我試圖配置我的對象映射器而不知道我正在使用哪個映射器。 :/配置非特定框架的映射行爲
這聽起來有點奇怪。原因在於我正在嘗試使用洋蔥體系結構,因此我的UI無法知道位於我的基礎結構中的Object Mapper。一個例子見this solution。
我有一些麻煩搞清楚如何我應該「代表的」無默認映射行爲。 東西,如:
Mapper
.CreateMap<MyModel, MyDestViewModel>()
.ForMember(
dest => dest.SomeDestinationProperty,
opt => opt.MapFrom(src => src.SomeSourceProperty)
);
我設置一類在我的MVC項目,該項目是從Global.asax中調用,這是我想要配置我的映射。
public static class MapConfig
{
public static void RegisterMaps()
{
}
}
我在想我可以做下面的事情。 (IMapper是一個位於域中的自定義接口)
public static void RegisterMaps(HttpConfiguration config)
{
var mapper = config.DependencyResolver.GetService(IMapper);
mapper.CreateMap<MyModel, MyViewModel>();
}
現在......我將如何設置特殊行爲,如.ForMember?請記住,它不能是AutoMapper特定的。
我沿着這些線路mapper.CreateMap<MyModel, MyViewModel>(Expression<Func<T>>)
其中Func鍵會做一些黑魔法我想不通現在:(思考的東西 - 我在正確的道路上或有我錯過了什麼重要的
如果我誤解了你,我很抱歉。但是我應該用AutoMapper中需要的函數1:1映射創建一個IMapper? – 2013-03-07 12:12:40
是的,但沒有CreateMap調用。僅限地圖通話。這將像抽象你的ORM配置,這不是明智的。 – 2013-03-07 12:33:01
對,我只是幾乎從IMappingEngine c/p。也許當我更熟悉它時,這個http:// lostechies。com/jimmybogard/2009/05/12/automapper-and-ioc /將開始變得更有意義:) – 2013-03-07 12:44:53