ho mappature definite in questo modo:automapper - fortemente tipizzato set di dati
Mapper.CreateMap<DsMyDataSet.TMyRow, MyRowDto>();
Il MyRowDto è di 1: 1 copia di TMyRow ma tutte le proprietà sono le proprietà auto.
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")]
public string PositionFolder{
get {
try {
return ((string)(this[this.tableTMyDataSet.PositionFolderColumn]));
}
catch (global::System.InvalidCastException e) {
throw new global::System.Data.StrongTypingException("The value for column \'PositionFolder\' in table \'TMyDataSet\' is DBNull.", e);
}
}
set {
this[this.tableTMyDataSet.PositionFolderColumn] = value;
}
}
quando chiamo:
DsMyDataSet.TMyRow row = ....;
AutoMapper.Mapper.Map<MyRowDto>(row);
ottengo l'eccezione StrongTypingException perché il valore della colonna è nullo. La proprietà è nullable ma i set di dati fortemente tipizzati non supportano le proprietà nullable e devi chiamare IsNullable instea. Come aggirare questo problema in AutoMapper in modo tale che i mapping superino (ignorando l'errore e lasciando il valore nullo)?