我有我的asp.net控制台应用程序中下面的代码: -无法从AutoMapper
Contact contact = new Contact()
{
Salutation = fields[SalutationIndex],
FirstName = fields[FirstNameIndex],
LastName = fields[LastNameIndex],
Organization = fields[OrganizationIndex],
Title = fields[TitleIndex]};
var dbcontact = entities.Contacts.FirstOrDefault(a => a.Email.ToLower() == contact.Email.ToLower());
Mapper.CreateMap<Contact, Contact>().ForSourceMember(x => x.ID, opt => opt.Ignore());
dbcontact = Mapper.Map<Contact>(contact);
entities.Entry(dbcontact).State = EntityState.Modified;
现在我想从contact
所有属性复制到dbcontact
,但排除该ID,因为在contact
里面,ID将具有默认值= 0
,而我想要ID
保持从数据库中检索到的那个。 但上面的代码将修改dbcontact
属性,包括ID
等于contact
内的那些..所以似乎试图忽略ID
没有工作。 我使用自动映射器3.3.0 +控制台应用程序正在使用asp.net 4.5 +实体框架5.0 关注
你试过'ForMember',而不是'ForSourceMember':
与那些从答案替换此2号线(从你的例子)? – DiskJunky
@DiskJunky同样的问题..可能的原因是,我需要明确定义'contact'中的ID –
在这个调用之前你是否调用了'Mapper.CreateMap',例如,在这之前设置了别处的绑定叫什么名字? –
DiskJunky