AutoMapper - jak przekazać parametry do niestandardowego przelicznika przy użyciu metody ConstructedBy?
W moim projekcie ASP.NET MVC 2 (RC) - używam AutoMapper do mapowania między klasą Linq do Sql (Media) i modelem widoku (MediaVM). Model widoku ma właściwość SelectList dla rozwijanego widoku. Mam niestandardowy przelicznik wartości, aby zapełnić elementy właściwości SelectList z db, ale zastanawiam się, czy istnieje sposób na przekazanie wartości para z modelu źródłowego do resolvera (przy użyciu metody ConstructedBy?), Aby a) zdefiniować wybrany element i b ) filtruj elementy z db. Obiekt źródłowy zostaje przekazany do niestandardowego resolvera - ale resolver jest używany w kilku różnych modelach widoków z różnymi typami obiektów źródłowych, więc wolałbym zdefiniować, skąd wziąć wartości w mojej konfiguracji mapowania. Oto mój model widoku:
public class MediaVM
{
public bool Active { get; set; }
public string Name { get; set; }
[UIHint("DropDownList")]
[DisplayName("Users")]
public SelectList slUsers { get; private set; }
}
Konfiguracja mapowania automapper:
Mapper.CreateMap<Media, MediaVM>()
.ForMember(dest => dest.slUsers, opt => opt.ResolveUsing<UsersSelectListResolver>());
Byłoby miło móc zrobić coś takiego w klauzuli mapowania .ForMember:
.ConstructedBy(src => new UsersSelectListResolver(src.UserID, src.FilterVal))
Czy istnieje sposób, aby to osiągnąć?