[번역] AutoMapper 공식 시작 문서 Getting started
번역일자 2017년 3월 5일
원본 주소
AutoMapper란 무엇입니까?
AutoMapper는 객체에서 객체로의 변환 매핑 도구(object-object mapper)입니다.그것은 입력 대상을 다른 유형의 대상 출력으로 변환할 수 있다.AutoMapper가 더 재미있는 점은 우리가 대상을 바꾸는 데 도움을 줄 수 있는 재미있는 관례 규칙을 제공한다는 것이다.AutoMapper에서 설정한 규칙에 따라(솔리드를 구성하는 경우) 불필요한 설정이 필요하지 않습니다.
AutoMapper를 사용해야 하는 이유
수동 짝짓기는 지루하고, 짝짓기가 정확한지 테스트하는 것은 더 지루하다.AutoMapper는 구성이 간단하고 테스트가 쉬우며 빨리 사용하지 못합니까?사실 이 질문은 이렇게 해야 돼요. "털 때문에 Object-object mapper?"짝짓기는 많은 곳에서 발생할 수 있는데 특히 층과 층 사이, 예를 들어 UI 층과 영역 층, 또는 서비스 층과 영역 층에서 발생한다.한 층을 수정하면 보통 다른 층의 충돌을 초래할 수 있으므로 Object-objectmapper로 하여금 모형을 격리시키고 각 층이 독립적으로 자신의 일을 잘 할 수 있도록 하세요.
AutoMapper는 어떻게 사용합니까?
우선, 당신은 원시류와 목표류가 필요합니다.목표 유형의 디자인은 그가 있는 층에 따라 할 수 있지만, 필드 이름이 같을 경우 AutoMapper가 당신을 위해 더 좋은 서비스를 제공할 수 있습니다.예를 들어 원본 클래스의 필드를'FirstName'이라고 부르면 목표 클래스의'FirstName'필드를 자동으로 맞춥니다.AutoMapper에서도 Flattening 지원
AutoMapper는 짝을 지을 때 빈 인용 이상을 무시합니다. 이것은 고의로 설계한 것입니다. 만약 마음에 들지 않는다면 Custom-value-resolvers를 사용해도 됩니다.
짝짓기를 원하는 유형이 생기면 Mapper Configuration이나 정적 클래스 Mapper로 짝짓기를 만듭니다.일반적으로 모든 응용 프로그램 필드는 하나의 Mapper Configuration 실례만 필요하고 시작할 때 실례화되어 Mapper를 사용할 수 있습니다.Initialize(더 많은 예는 Static-and-instance-API 참조)
Mapper.Initialize(cfg => cfg.CreateMap());
//
var config = new MapperConfiguration(cfg => cfg.CreateMap());
왼쪽은 원시적이고 오른쪽은 타겟 클래스이며 정적 방법인지 인스턴스화된 Mapper인지는 static or instance initialization:
var mapper = config.CreateMapper();
//
var mapper = new Mapper(config);
OrderDto dto = mapper.Map(order);
//
OrderDto dto = Mapper.Map(order);
대부분의 응용 프로그램은 이미 만들어진 Imapper 인스턴스를 주입에 의존하는 방법을 사용할 수 있습니다.
AutoMapper는 위의 방법에 대해 비범용 버전도 있는데, 컴파일할 때 유형을 모를 때 사용한다
AutoMapper는 어디에서 구성됩니까?
정적 매퍼를 사용하면 프로그램 영역마다 한 번만 설정할 수 있다. 즉, 가장 좋은 곳은 프로그램이 시작되는 곳, 예를 들어 ASP이다.NET 프로그램은 Global에 설정됩니다.asax 파일 아래.일반적으로 이니시에이터의 클래스를 구성하려면 고유의 클래스가 필요하며 응용 프로그램 시작 방법에서 호출됩니다. 이니시에이터의 클래스는 Mapper라고 할 수 있습니다.모든 쌍을 구성하려면 Initialize
내 마핑스를 어떻게 테스트해?
너의 짝짓기를 시험하기 위해서 너는 두 가지 일을 해야 한다
var config = AutoMapperConfiguration.Configure();
config.AssertConfigurationIsValid();
데모 있어요?
dnrTV episode on AutoMapper를 보세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.