跳過性質我有以下類中定義:Automapper正確映射在第一次呼叫,但在第二個呼叫
public class ImageIndexModel {
public string Description {get; set;}
public string InstrumentNumber {get; set;}
}
public class ImageEditModel : ImageIndexModel {
public int TotalCount = 0;
}
public class Clerk { //This is actually a class defined by LinqToSql
public string Description {get; set;}
public string InstrumentNo {get; set;}
}
現在,在我的global.asax
,我在Application_Start()
定義下面的映射。
Mapper.CreateMap<ImageIndexModel, Clerk>()
.ForMember(dest => dest.InstrumentNo,
opt => opt.MapFrom(src => src.InstrumentNumber));
最後,在我的控制器之一,我有以下代碼:
var _existing = new Clerk();
var _default = new ImageEditModel() {
InstrumentNumber = "12345678", Description = "Test"
};
Mapper.Map(_default, _existing);
我第一次打電話給我控制器上的行動,這映射運行時,一切工作正常和InstrumentNumber
正確映射到Clerk
對象的InstrumentNo
。但是,第二次操作被調用時,InstrumentNo
未被映射。 InstrumentNumber
肯定有一個值,但InstrumentNo
保持爲空。
任何想法可能發生在這裏?
即使在多次運行時,您輸入問題的代碼也能正常工作。所以Automapper似乎不是問題。我懷疑Linq2SQL生成的類或者它在ASP.NET中使用的方式。沒有更多的代碼,它很難說出什麼是錯的。我會在linq2sql生成的類的屬性setter中設置斷點。 – PatrickSteele