在我的ASP.NET MVC 2(RC)项目中 - 我使用AutoMapper在Linq到Sql类(Media)和视图模型(MediaVM)之间进行映射.视图模型具有SelectList属性,用于视图中的下拉列表.我有一个自定义值解析器来填充从数据库中选择列表的属性项,但不知道是否有(使用ConstructedBy方法?)的)定义选择的项目和b通过从源模型一对夫妇的值到解析器的方式)过滤数据库中的项目.源对象被传递到自定义解析 - 但是解析器对不同类型的源对象的几种不同的视图模型使用,所以宁可确定从哪里我的测绘配置得到的值.这是我的视图模型:
public class MediaVM
{
public bool Active { get; set; }
public string Name { get; set; }
[UIHint("DropDownList")]
[DisplayName("Users")]
public SelectList slUsers { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
automapper映射配置:
Mapper.CreateMap<Media, MediaVM>()
.ForMember(dest => dest.slUsers, opt => opt.ResolveUsing<UsersSelectListResolver>());
Run Code Online (Sandbox Code Playgroud)
能够在.ForMember映射子句上执行类似的操作会很高兴:
.ConstructedBy(src => new UsersSelectListResolver(src.UserID, src.FilterVal))
Run Code Online (Sandbox Code Playgroud)
有没有办法实现这个目标?