如何使用Dapper.net Extensions忽略类属性?

Gre*_*ski 5 c# dapper dapper-extensions

我正在使用Dapper.net Extensions,并且想要忽略某些属性而无需编写完整的自定义映射器.正如您在下面的ClassMapper中看到的那样,当我真正想做的就是忽略一个属性时,会有很多冗余代码.实现这一目标的最佳方法是什么?

我喜欢这里提供的答案/sf/answers/1025454951/但我找不到定义'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();
    }
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*hie 5

WriteAttribute班位于Dapper.Contrib.Extensions命名空间-这是Dapper.Contrib项目的一部分。您可以通过 nuget 添加,该包名为“Dapper.Contrib”

  • Nuget 上的 Dapper.Contrib 包似乎没有使用 lates 代码进行更新。我已经联系了所有者以获取更新。 (2认同)