0

我有这样的域模型

public class EntityOne
    {
        public int EnityOneId { get; set; }
        public int EntityOnePropertyOne { get; set; }

        public List<EntityTwo> EntityTwos { get; set; }
    }

    public class EntityTwo
    {
        public int EntityTwoId { get; set; }
        public string EntityTwoPropertyOne { get; set; }

        public int EntityThreeId { get; set; }
        public int EnityOneId { get; set; }

        public virtual EntityOne EntityOne { get; set; }
        public virtual EntityThree EntityThree { get; set; }
    }

    public class EntityThree
    {
        public int EntityThreeId { get; set; }
        public string EntityThreePropertyOne { get; set; }
    }

我有这样的 DTO

public class EntityDTO
    {
        public int EntityOnePropertyOne { get; set; }
        public string EntityThreePropertyOne_ValueOne { get; set; }
        public string EntityThreePropertyOne_ValueTwo { get; set; }
        public string EntityThreePropertyOne_ValueThree { get; set; }
        public string EntityThreePropertyOne_ValueFour { get; set; }
        public string EntityThreePropertyOne_ValueFive { get; set; }
    }

我想使用 AutoMapper 配置从 DTO 到 DomainModel 的映射,反之亦然,但我不知道该怎么做......任何建议或帮助

4

1 回答 1

0

我不确定您要在这里完成什么。

我知道您想映射到EntityDTO,但从其他类型?我将假设您想EntityTwo用作源。

在这种情况下,

  • EntityOnePropertyOne: 将通过 Flattening 从源 ( EntityTwo) 自动获得 - 所以,这里没问题。
  • EntityThreePropertyOne_ValueOne:这将假设您有一个名为EntityThree(您有)的属性,并且在该类型中,有一个称为PropertyOne_ValueOnetype的属性int(您没有)。同样适用于其余部分。

反过来会变得更棘手,因为我看到会有很多属性被忽略,所以你需要告诉 AutoMapper,你不希望它关心你复杂类型中的所有属性,那t 来自 DTO。

于 2014-03-26T21:18:59.833 回答