C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – AutoMapper – 忽略所有实现的基类属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用AutoMapper导入数据.

我的目标类都继承自基类Entity,它具有一些在源中不存在的属性(CreatedOn,CreatedBy,ModifiedOn,ModifiedBy)

假设我有一个源类单元:

public class UnitOld
{
    public int Id { get; set; }
    public string Name { get; set; }
}

这是我的目的地类单位:

public class Unit : Entity
{
    public Guid UnitId { get; set; }
    public string UnitName { get; set; }
}

public class Entity
{
    public string CreatedOn { get; set; }
    public string CreatedBy { get; set; }
    public string ModifiedOn { get; set; }
    public string ModifiedBy { get; set; }
}

现在要创建我的映射,我必须写:

Mapper.CreateMap<UnitOld,Unit>()
            .ForMember(d => d.UnitName,o => o.MapFrom(s => s.Name))
            .ForMember(d => d.UnitId,o => o.Ignore())
            .ForMember(d => d.CreatedOn,o => o.Ignore())
            .ForMember(d => d.CreatedBy,o => o.Ignore())
            .ForMember(d => d.ModifiedOn,o => o.Ignore())
            .ForMember(d => d.ModifiedBy,o => o.Ignore());

哪个工作正常,事情是我有多个继承自实体的类,我不想重复自己.是否有可能告诉AutoMapper对于每个来自实体的interits忽略属性……?

解决方法

我想可能有一个更好的解决方案,它会告诉automapper在每个映射中忽略一些基类属性.

但是,此方法适用于我(这将忽略所有映射中以这些字符串开头的所有属性.

Mapper.AddGlobalIgnore("CreatedOn");
Mapper.AddGlobalIgnore("CreatedBy");
Mapper.AddGlobalIgnore("ModifiedOn");
Mapper.AddGlobalIgnore("ModifiedBy");

大佬总结

以上是大佬教程为你收集整理的c# – AutoMapper – 忽略所有实现的基类属性全部内容,希望文章能够帮你解决c# – AutoMapper – 忽略所有实现的基类属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: