Dapper.net Extensions를 사용하여 클래스 속성을 무시하는 방법?

c# dapper dapper-extensions

문제

Dapper.net Extensions를 사용하고 있으며 완전한 사용자 지정 매퍼를 작성하지 않고 특정 속성을 무시하고 싶습니다. 아래 ClassMapper에서 볼 수 있듯이, 실제로하고 싶은 것은 하나의 속성을 무시하면 많은 중복 코드가 있습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?

나는 대답을 https://stackoverflow.com/a/14649356에서 제공하는 것을 좋아하지만 '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();
    }
}

인기 답변

[Computed]로 속성을 꾸밀 수 있으며 속성은 삽입시 무시됩니다. 의미 상 완벽하지는 않을 수도 있지만 일을하는 것처럼 보입니다.

[Computed]
public int SomePropertyIDontCareAbout { get; set; }

다시 Peter Ritchie의 대답은 다음과 같이 더 많은 가능성이 있습니다.

[WriteAttribute(false)]
public int SomePropertyIDontCareAbout { get; set; }


아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.