gpt4 book ai didi

c# - Automapper - 如何映射私有(private)支持字段

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:15 25 4
gpt4 key购买 nike

我正在尝试在这种情况下使用 Automapper。我有一个实体(DDD 实体对象),它必须有所有属性和集合的私有(private) setter ,我必须将它映射到一个更简单的对象,该对象将存储在数据库中使用。实体有这样的代码:

    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...
}`

以及持久性友好的对象

[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 映射到实体中的私有(private)支持字段 _assignedItems。我怎样才能做到这一点?有没有办法将 AssignedItems 集合映射到名为 _assignedItems 的私有(private)字段?非常感谢大家

最佳答案

我知道这可能来得太晚了,但对于将来可能会遇到这个问题的人应该还是有帮助的。

下面是我如何解决映射私有(private)字段问题。

// 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;

关于c# - Automapper - 如何映射私有(private)支持字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29674842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com