天天看點

[非專業翻譯] Mapster - 映射隻讀屬性

[非專業翻譯] Mapster - 映射隻讀屬性

系列介紹

[非專業翻譯] 是對沒有中文文檔進行翻譯的系列部落格,文章由機翻和譯者自己了解構成,和原文相比有所有不同,但意思基本一緻。

因個人能力有限,如有謬誤之處還請指正,多多包涵。

正文

本文将說明 Mapster 如何映射隻讀屬性

映射非公開

set

的屬性

Mapster 預設會自動映射非公開

set

的屬性:

public class Order {
    public string Id { get; set; }
    public ICollection<OrderItem> Items { get; private set; }
}
           

[UseDestinationValue] 特性标簽

給屬性添加特性标簽

[UseDestinationValue]

,未指定

set

的屬性也能進行映射:

public class Order {
    public string Id { get; set; }

    [UseDestinationValue]
    public ICollection<OrderItem> Items { get; } = new List<OrderItem>();
}
           

基于約定配置映射

如果希望所有未指定

set

ICollection<>

都參與映射,那麼可以使用

UseDestinationValue

方法進行配置:

TypeAdapterConfig.GlobalSettings.Default
    .UseDestinationValue(member => member.SetterModifier == AccessModifier.None &&
                                   member.Type.IsGenericType &&
                                   member.Type.GetGenericTypeDefinition() == typeof(ICollection<>));
           

目前學習.NET Core 最好的教程

.NET Core 官方教程

ASP.NET Core

官方教程

如果您認為這篇文章還不錯或者有所收獲,您可以點選右下角的【推薦】支援,或請我喝杯咖啡【贊賞】,這将是我繼續寫作,分享的最大動力!

作者:玩雙截棍的熊貓

聲明:原創部落格!請在轉載時在文章開頭注明本人部落格位址。如發現錯誤,歡迎批評指正。凡是轉載于本人的文章,不能設定打賞功能,如有特殊需求請與本人聯系!