我需要使用AutoMapper进行特殊映射的帮助。我想将一组对象映射到一组字符串。AutoMapper:将Object的集合映射到字符串集合
所以我有一个标签D类
public class Tag
{
public Guid Id { get; set; }
public string Name {get; set; }
}
比模型我有这个类的一个IList中。现在我想把这个名字映射到一个字符串集合。
这就是我如何定义映射规则:
.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())
这里是我的ValueResolver:
protected override string ResolveCore(Tag source)
{
return source.Name;
}
但你知道..它不工作;-)所以也许有人知道该怎么办它是正确的,可以帮助我。
THX很多
月
的sooo ... u想更多的细节。这里u得到它..但我有缩短;)
所以型号:
public class Artocle
{
public Guid Id { get; set; }
public string Title {get; set; }
public string Text { get; set; }
public IList<Tag> Tags { get; set; }
}
你可以在上面看到标签模型。
我想将其映射到ArticleView ...我只需要标记模型用于某些业务环境,而不是用于输出。
因此,这里的视图模型我需要映射到:
public class ArticleView
{
public Guid Id { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public IList<string> Tags { get; set; } // The mapping problem :-)
}
所以,我对于映射一个引导程序。我的映射是这样的:
Mapper.CreateMap<Article, ArticleView>()
.ForMember(dest => dest.Tags, opt => opt.ResolveUsing<TagNameResolver>())
而且我用特殊方法
public static ArticleView ConvertToArticleView(this Article article)
{
return Mapper.Map<Article, ArticleView>(article);
}
你能提供更多关于源和目标类的信息吗? –
这就是我所做的:)我希望我的版本可以帮助:) – Smokefoot