我需要使用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