automapper 상속 프로필은 json에서 추가 속성을 반환합니다.

마이크

내가 읽은 표준은 Automapper가 맵을 감지하기 위해 Profile 클래스를 상속하는 것입니다. https://automapper.org/

public class GamerVM : Profile
{
    public GamerVM()
    {
        CreateMap<GamerVM, Gamer>();
        CreateMap<Gamer, GamerVM>();
    }
    public int Id { get; set; }
    public string Name { get; set; }
    public string Tag { get; set; }
}

내 뷰 모델에서이 클래스를 상속하면 Json이 추가 속성과 함께 반환됩니다.

 {
    "id": 8,
    "name": "Ashton Heir",
    "tag": "Legend",
    "defaultMemberConfig": {
        "nameMapper": {
            "getMembers": {},
            "namedMappers": [
                {
                    "methodCaseSensitive": false
                },
                {},
                {
                    "prefixes": [
                        "Get"
                    ],
                    "postfixes": [],
                    "destinationPrefixes": [],
                    "destinationPostfixes": []
                }
            ]
        },
        "memberMappers": [
            {
                "nameMapper": {
                    "getMembers": {},
                    "namedMappers": [
                        {
                            "methodCaseSensitive": false
                        },
                        {},
                        {
                            "prefixes": [
                                "Get"
                            ],
                            "postfixes": [],
                            "destinationPrefixes": [],
                            "destinationPostfixes": []
                        }
                    ]
                }
            },
            {
                "sourceMemberNamingConvention": {
                    "splittingExpression": {
                        "pattern": "(\\p{Lu}+(?=$|\\p{Lu}[\\p{Ll}0-9])|\\p{Lu}?[\\p{Ll}0-9]+)",
                        "options": 0
                    },
                    "separatorCharacter": ""
                },
                "destinationMemberNamingConvention": {
                    "splittingExpression": {
                        "pattern": "(\\p{Lu}+(?=$|\\p{Lu}[\\p{Ll}0-9])|\\p{Lu}?[\\p{Ll}0-9]+)",
                        "options": 0
                    },
                    "separatorCharacter": ""
                }
            }
        ]
    }

나는 이것을 올바르게하고 있는가? JSON이 이러한 추가 속성을 무시하는 방법이 있습니까?

금연 건강 증진 협회

모델이 프로필을 상속하면 안됩니다. 프로필을 하위 클래스로 분류하여 모델 대 모델 매핑을 구성합니다.

public class GamerMappingProfile : Profile
{
    public GamerMappingProfile()
    {
        CreateMap<Gamer, GamerVM>();
        CreateMap<GamerVM, Gamer>();
    }
}

그런 다음 매퍼 인스턴스를 만들 때 프로필을로드합니다.

var config = new MapperConfiguration(cfg => {
    cfg.AddProfile<GamerMappingProfile>();
    cfg.AddProfile<MyOtherProfile>();
});

var mapper = config.CreateMapper();

이제 모델이 깨끗합니다. 속성 만 포함되며 직렬화에는 추가 사용자 지정 코드가 필요하지 않습니다.

프로필을 자동 검색하려면

http://docs.automapper.org/en/stable/Configuration.html#assembly-scanning-for-auto-configuration

위 링크에서 복사

// Scan for all profiles in an assembly
// ... using instance approach:
var config = new MapperConfiguration(cfg => {
    cfg.AddProfiles(myAssembly);
});
// ... or static approach:
Mapper.Initialize(cfg => cfg.AddProfiles(myAssembly));

// Can also use assembly names:
Mapper.Initialize(cfg =>
    cfg.AddProfiles(new [] {
        "Foo.UI",
        "Foo.Core"
    });
);

// Or marker types for assemblies:
Mapper.Initialize(cfg =>
    cfg.AddProfiles(new [] {
        typeof(HomeController),
        typeof(Entity)
    });
);

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

JSON은 JArray를 반복하고 속성을 추가합니다.

Automapper ProjectTo는 자식 속성에 ToList를 추가합니다.

JSON은 camelCase 대신 PascalCase에서 속성을 반환합니다.

파이썬-추상 클래스에서 상속 할 때 속성이 이전 값을 반환합니다.

ViewBag 속성은 항상 단위 테스트에서 null을 반환합니다.

대상에서 모든 속성을 NULL로 설정하는 AutoMapper

AutoMapper 4.2가 프로필의 속성을 무시하지 않음

Maven은 대상 jar에 로컬 종속성을 추가하지 않습니다.

다른 프로필에 대한 종속성이있는 Automapper 프로필

요청 속성은 구문에서 null을 반환합니다.

속성에서 하나의 개체를 만들고 automapper로 대상 컬렉션에 추가

가상 속성 Automapper 매핑

Angularjs는 필터로 모델에 속성을 추가합니까?

.GetType (). GetProperties ()는 다른 순서로 속성을 반환합니다.

NUnit : Automapper <IDataReader, Dto> .ConvertUsing ()은 null 속성과 함께 Dto를 반환합니다.

Spring 프로토 타입은 런타임에 속성을 상속합니다.

Spring 프로토 타입은 런타임에 속성을 상속합니다.

가져오기 성공은 약속을 반환합니다.

AutoMapper는 소스 속성을 내부 대상 객체에 매핑합니다.

Maven은 jar 파일에 속성 파일을 추가합니다

추상 클래스의 상속은 속성에 정의 된 것과 다른 유형을 사용합니다.

병합과 같은 Angular json의 한 속성에서 다른 속성으로 json 속성을 추가하는 방법

종속성 주입이있는 AutoMapper가 프로필을 매핑하지 않습니까?

Mongoose는 조건부 검사를 기반으로 결과에 추가 속성을 추가합니다.

개체에서 속성을 찾은 다음 목록 속성에 항목 추가

Automapper에서 SQLite로의 일반 매핑은 빈 목록을 반환합니다.

상속을 포함하는 ArrayLists에 속성을 추가하는 방법은 무엇입니까?

QML은 Javascript로 설정된 속성에서 NaN을 반환합니다.

.joinedAt 속성은 항상 discord.js에서 undefined를 반환합니다.

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관