簡體   English   中英

自動映射 - 如何映射私有支持字段

[英]Automapper - How to map a private backing field

我正試圖在這種情況下使用Automapper。 我有一個Entity(DDD實體對象)必須擁有所有屬性和集合的私有setter,我必須將它映射到一個更簡單的對象,將使用存儲在DB中。 實體有這樣的代碼:

    public class TypeA : Entity
{
    private List<TypeB> _assignedItems;
    public IEnumerable<TypeB> AssignedItems
    {
        get { return _assignedItems.ToList(); }
    }

    public string Name { get; private set; }

    public string Description { get; private set; }

    ...etc...
}`

和Persistence友好的對象

[Table("TypeA")]
public class TypeADao : EntityDao
{
    public string Name { get; set; }

    public string Description { get; set; }

    public ICollection<TypeBDao> AssignedItems { get; set; }
}

使用Automapper可以輕松地將實體映射到Dao,但我沒有做相反的事情,因為我需要將AssignedItems映射到實體中的私有支持字段_assignedItems。 我怎樣才能做到這一點? 有沒有辦法將AssignedItems集合映射到名為_assignedItems的私有字段? 非常感謝大家

我知道這可能有點太晚了,但對將來可能會遇到這個問題的人來說仍然有用。

這是我如何解決映射私有字段問題。

// Please refer to https://github.com/AutoMapper/AutoMapper/issues/600
// Please refer to https://github.com/AutoMapper/AutoMapper/issues/946
ShouldMapField = fieldInfo => !fieldInfo.IsDefined(typeof(System.Runtime.CompilerServices.CompilerGeneratedAttribute));
ShouldMapProperty = propertyInfo => true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM