Sto utilizzando AutoMapper per copiare un oggetto framework entità su un altro database identico. Il problema è che tenta di copiare le tabelle di ricerca.Come ignorare le proprietà in base al tipo
Ho provato a escluderli con AddGlobalIgnore
e ShouldMapProperty
ma non funziona. AutoMapper prova ancora a copiare queste proprietà.
Ecco il mio codice. Vorrei ignorare le proprietà che iniziano con "LU"
dynamic newObject= new NewObject();
MapperConfiguration config = new MapperConfiguration(cfg =>
{
cfg.CreateMissingTypeMaps = true;
cfg.AddGlobalIgnore("LU");
cfg.ShouldMapProperty = p => !p.GetType().ToString().StartsWith("LU");
cfg.ShouldMapField = p => !p.GetType().ToString().StartsWith("LU");
});
IMapper mapper = config.CreateMapper();
newObject = mapper.Map(objectToCopy, objectToCopy.GetType(), newObject.GetType());
ho anche provato
MapperConfiguration config = new MapperConfiguration(cfg =>
{
cfg.CreateMissingTypeMaps = true;
cfg.AddGlobalIgnore("LU");
cfg.ShouldMapProperty = p => !p.PropertyType.Name.StartsWith("LU");
cfg.ShouldMapField = p => !p.FieldType.Name.StartsWith("LU");
});
e
MapperConfiguration config = new MapperConfiguration(cfg =>
{
cfg.CreateMissingTypeMaps = true;
cfg.AddGlobalIgnore("LU");
cfg.ShouldMapProperty = p => !p.Name.StartsWith("LU");
cfg.ShouldMapField = p => !p.Name.StartsWith("LU");
});
Aspetta, perché hai un oggetto dinamico nel mix lì? –
@JimmyBogard \t Perché 'mapper.Map()' restituisce un oggetto dinamico – Marc
@Silvermind Non ho nessuno strumento per decompilare AutoMapper. Cosa intendi per 'property.Name.StartsWith'? 'p' è un' PropertyInfo' – Marc