Sto usando le estensioni di Dapper.net e vorrei ignorare determinate proprietà senza dover scrivere un mapper personalizzato completo. Come puoi vedere nel ClassMapper di seguito c'è un sacco di codice ridondante quando tutto ciò che voglio veramente è ignorare una proprietà. Quale sarebbe il modo migliore per realizzare questo?Come ignorare una proprietà di classe usando le estensioni di Dapper.net?
Mi piace la risposta fornita qui https://stackoverflow.com/a/14649356 ma non riesco a trovare lo spazio dei nomi in cui è definito "Scrivi".
public class Photo : CRUD, EntityElement
{
public Int32 PhotoId { get; set; }
public Guid ObjectKey { get; set; }
public Int16 Width { get; set; }
public Int16 Height { get; set; }
public EntityObjectStatus ObjectStatus { get; set; }
public PhotoObjectType PhotoType { get; set; }
public PhotoFormat2 ImageFormat { get; set; }
public Int32 CategoryId { get; set; }
public int SomePropertyIDontCareAbout { get; set; }
}
public class CustomMapper : DapperExtensions.Mapper.ClassMapper<Photo>
{
public CustomMapper()
{
Map(x => x.PhotoId).Column("PhotoId").Key(KeyType.Identity);
Map(x => x.ObjectKey).Column("ObjectKey");
Map(x => x.Width).Column("Width");
Map(x => x.Height).Column("Height");
Map(x => x.ObjectStatus).Column("ObjectStatus");
Map(x => x.PhotoType).Column("PhotoType");
Map(x => x.ImageFormat).Column("ImageFormat");
Map(x => x.CategoryId).Column("CategoryId");
Map(f => f.SomePropertyIDontCareAbout).Ignore();
}
}
Il pacchetto Dapper.Contrib su Nuget isn' t aggiornato con il codice Lates sembra. Ho contattato il proprietario per aggiornarlo. –
... e ora viene aggiornato e si spera che verrà aggiornato in futuro. –