Tôi đã được làm phẳng miền đối tượng vào DTOs như trong ví dụ dưới đây:Một cách tốt hơn để sử dụng AutoMapper để làm phẳng các đối tượng lồng nhau?
public class Root
{
public string AParentProperty { get; set; }
public Nested TheNestedClass { get; set; }
}
public class Nested
{
public string ANestedProperty { get; set; }
}
public class Flattened
{
public string AParentProperty { get; set; }
public string ANestedProperty { get; set; }
}
// I put the equivalent of the following in a profile, configured at application start
// as suggested by others:
Mapper.CreateMap<Root, Flattened>()
.ForMember
(
dest => dest.ANestedProperty
, opt => opt.MapFrom(src => src.TheNestedClass.ANestedProperty)
);
// This is in my controller:
Flattened myFlattened = Mapper.Map<Root, Flattened>(myRoot);
tôi đã xem xét một số ví dụ, và cho đến nay điều này dường như là cách để san bằng một hệ thống phân cấp lồng nhau. Nếu đối tượng con có một số thuộc tính, tuy nhiên, cách tiếp cận này không tiết kiệm được nhiều mã.
tôi thấy ví dụ này:
nhưng nó đòi hỏi các trường hợp của các đối tượng ánh xạ, theo yêu cầu của Map() chức năng, mà sẽ không làm việc với một hồ sơ như tôi hiểu nó.
Tôi mới sử dụng AutoMapper, vì vậy tôi muốn biết liệu có cách nào tốt hơn để thực hiện việc này hay không.
Tôi có cùng thách thức với John. – noocyte
Không ai có thể giúp đỡ về điều này? –