문제

Enitity 프레임 워크에 대해 읽은 후 몇 가지 질문이 있습니다.

1] 계층간에 엔티티를 전송하는 가장 좋은 방법은 무엇입니까? 이것에 대해 더 가벼운 DTO를 만들어야합니까, 아니면 효과적으로 직렬화하고 전송할 수 있습니까?

효율성을 위해 가벼운 DTO를 만들어야하고 Automapper의 멋진 사용을 본 후에는 추가 코딩을 어떻게 절약하는지 이해하지 못했습니다 (그것이 목표라면), 내 말은, 우리는 아첨 클래스 (DTO) 속성을 작성해야하므로 CTOR 만 저장합니다.

2] untitiy 클래스를 구축하는 포인트가 있습니까? DTOS에서?

감사해요.

도움이 되었습니까?

해결책

1에 대한 답변 : 계층간에 엔티티를 전송하는 가장 좋은 방법은 응용 프로그램에 따라 다릅니다. 직렬화 엔티티는 다음과 같이 선호하는 솔루션 인 DTO를 만들 수 있습니다. 가능한 그러나 이것이 실제로 당신이하고 싶은 일인지 기억해야합니다.

"이진 직렬화 및 WCF 데이터 계약 직렬화를 사용하면 직렬화되는 객체에 객체 그래프에 관련 객체가있는 경우 해당 객체도 직렬화됩니다. XML 직렬화는 관련 객체를 직렬화하지 않습니다."

Automapper는 다음과 같은 모든 배관 문을 쓰지 않고 속성을 자동으로 매핑하여 작동합니다.

dto.id = entity.id;
...
all other dto assignment operations

당신은 곧 배관 코드의 양이 합산되어 있기 때문에 특히 view 클래스와 DTO 객체가있는 경우 해당 코드 라인을 많이 절약 할 수 있습니다. 내가 아는 한 Automapper는 이름이 엔티티와 DTO 사이에 동일 하다면만 작동하며 이러한 속성의 유형간에 매핑 할 수 있습니다. DTO와 엔티티가 데이터를 다른 유형으로 저장하는 경우 유형간에 변환하기위한 매핑 규칙을 추가 할 수 있습니다.

2에 대한 답변 : 객체를 DTO로 변환하고 더 높은 계층에서 수정하면 엔티티 프레임 워크를 통해 어떻게 저장할 계획입니까? 일반적으로 이들을 관련 엔티티로 다시 변환 / 새 엔티티를 만들고 이러한 변경 사항을 제출합니다.

다른 팁

당신은보고 싶어 RIA 서비스. 그것은 이것을 위해 만들어졌습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top