2013-06-25 247 views
1

具有以下对象我需要映射,但我无法使用automapper使其工作!我认为它是因为结构,但林不知道这是如何不同的映射。带类内结构的自动映射器映射

我想映射使用以下对象,虽然失败!请帮忙!?由于

var result = Result(..); // TYPEOF = B.Result 
var temp = Mapper.Map<A.Result, B.ParseResult>(result); 

的错误:“试图映射缺少类型映射配置或不支持的映射。”

public class A.Result 
{ 
    public bool Success { get; set; } 
    public IEnumerable<A.MyError> Errors { get; set; } 
} 

public struct A.MyError 
{ 
    public string Message { get; set; } 
} 

映射到

[DataContract] 
public class B.Result 
{ 
    [DataMember] 
    public bool Success { get; set; } 
    [DataMember] 
    public IEnumerable<B.MyError> Errors { get; set; } 
} 


[DataContract] 
public struct B.MyError 
{ 
    [DataMember] 
    public string Message { get; set; } 
} 

回答

1

您还没有指示AutoMapper怎么办你的类型之间的转换。您可以通过添加Mapper.CreateMap<AResult, BResult>();到你的代码解决这个问题:

Mapper.CreateMap<AResult, BResult>(); 
var temp = Mapper.Map<AResult, BResult>(result); 
+0

仍然失败了我.. –

+0

废的是,这是我..只是检查出来.. –

+0

感谢你的帮助 –