Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
288 views
in Technique[技术] by (71.8m points)

c# - Automapper custom object

How I have configure automapper to map this:

class Source { Guid Id; double Price; }

To this:

class Destination { Guid Id; DestinationDifference Difference; }


class DestinationDifference { decimal Amount; }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

First: You should really read the FAQs on how to post a question and what information should be added. (No, I'm not the downvoter)

Here is an example how to get your mapping to work. Please note, that I've changed your classes a bit, because AutoMapper needs properties.

Source source = new Source();
source.Id = Guid.NewGuid();
source.Price = 10.0;

Mapper.Initialize(x => x.CreateMap<Source, Destination>()
    .ForMember(a => a.Difference,
        b => b.MapFrom(s => new DestinationDifference() { Amount = (decimal)s.Price })));

Destination destination = Mapper.Map<Source, Destination>(source);

Classes:

class Source
{
    public Guid Id { get; set; }
    public double Price { get; set; }
}

class Destination
{
    public Guid Id { get; set; }
    public DestinationDifference Difference { get; set; }
}

class DestinationDifference
{
    public decimal Amount { get; set; }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...