【发布时间】:2017-05-18 13:52:57
【问题描述】:
我想通过 Automapper 将 mimeMessage_MailBox 更改为 email_MailBox 实体,配置代码如下。
public static class AutoMapperConfiguration
{
public static void configure() {
Mapper.CreateMap<mimeMessage_MailBox, email_MailBox>()
.ForMember(dest => dest.SenderName, opt => opt.MapFrom(src => src.From.Mailboxes.ToString()))
.ForMember(dest => dest.EmailSubject, opt => opt.MapFrom(src => src.Subject))
.ForMember(dest => dest.EmailCC, opt => opt.MapFrom(src => string.Join(",",src.Cc.Mailboxes.ToString())))
.ForMember(dest => dest.ReceiverEmail, opt => opt.MapFrom(src=>string.Join(",", src.To.Mailboxes.ToString())))
.ForMember(dest => dest.EmailBody, opt => opt.MapFrom(src=>src.Body.ContentBase.OriginalString));
}
现在将数据保存到 DbContext 如下所示:
public void Save(mimeMessage_MailBox mail)
{
email_MailBox mailbox = new email_MailBox();
using (EmailEntityModelContext context = new EmailEntityModelContext())
{
context.email_MailBox.Add(Mapper.Map<mimeMessage_MailBox, email_MailBox>(mail, mailbox));
context.SaveChanges();
}
我必须在 Save() 方法中调用 AutoMapperConfiguration.configure() 吗? 还是有类似 DI 魔法的东西? 请帮忙。
【问题讨论】:
标签: asp.net entity-framework automapper