Używam rozszerzeń Dapper.net i chciałbym zignorować pewne właściwości bez konieczności pisania kompletnego niestandardowego programu odwzorowującego. Jak widać w ClassMapper poniżej jest dużo zbędnego kodu, kiedy wszystko, co naprawdę chcę zrobić, to zignorować jedną właściwość. Jaki byłby najlepszy sposób, aby to osiągnąć?Jak zignorować właściwość klasy za pomocą rozszerzeń Dapper.net?
Podoba mi się odpowiedź podana tutaj https://stackoverflow.com/a/14649356, ale nie mogę znaleźć przestrzeni nazw, w której zdefiniowano "Write".
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();
}
}
Pakiet Dapper.Contrib na Nuget ISN” t zaktualizowany kodem Lates, wydaje się. Skontaktowałem się z właścicielem, aby go zaktualizować. –
... a teraz jest aktualizowany i mam nadzieję, że będzie aktualizowany w przyszłości. –