Dapper.net Extensionsを使ってクラスプロパティを無視する方法は?

c# dapper dapper-extensions

質問

私はDapper.net Extensionsを使用しており、完全なカスタムマッパーを書くことなく特定のプロパティを無視したいと考えています。下のClassMapperでわかるように、私が本当にやりたいことがひとつのプロパティを無視すると、冗長なコードがたくさんあります。これを達成する最良の方法は何でしょうか?

私はここで答えが好きですhttps://stackoverflow.com/a/14649356しかし、私は '書き込み'が定義されている名前空間を見つけることができません。

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は合法ですか? はい、理由を学ぶ