在我的ASP.NET MVC 2(RC)項目中 - 我使用AutoMapper在Linq to Sql類(Media)和視圖模型(MediaVM)之間進行映射。視圖模型具有SelectList屬性,用於在視圖中下拉菜單。我有一個自定義的值解析器來從數據庫中填充SelectList屬性項,但我想知道是否有一種方法可以將源模型中的一對值傳入解析器(使用ConstructedBy方法?)a)定義選定的項目和b )過濾數據庫中的項目。源對象被傳遞到自定義解析器 - 但解析器用於具有不同類型源對象的幾個不同視圖模型,因此寧願定義從映射配置中獲取值的位置。這裏是我的視圖模型:AutoMapper - 如何使用ConstructedBy方法將參數傳遞到自定義解析器?
的automapper映射配置:
Mapper.CreateMap<Media, MediaVM>()
.ForMember(dest => dest.slUsers, opt => opt.ResolveUsing<UsersSelectListResolver>());
這將是很好能夠做這樣的事情在.ForMember映射子句:
.ConstructedBy(src => new UsersSelectListResolver(src.UserID, src.FilterVal))
有沒有辦法做到這一點?
Bryan,你如何從數據庫填充SelectList? – awaisj 2011-11-17 11:44:21