2010-01-08 2 views
2

Enitity 프레임 워크에 대한 책을 읽은 후, 나는 몇 가지 질문이? a]이 작업을 수행하려면 더 가벼운 DTO를 작성해야합니까, 아니면 Entitiy을 효과적으로 직렬화하고 전송할 수 있습니까?엔티티 프레임 워크 (엔티티 클래스) 직렬화

내가 효율성 고체에 대한 빛의 DTO를 생성해야하고, 내가 Automapper의 좋은 사용을 본 후에 (그것의 목표 경우 )를 내가 아주, 그것은 코딩 여분의 저장 방법 을 이해 didnt한다 경우

B] 전 즉, flattern 클래스 (DTO) 속성을 작성해야하므로 ctor 만 저장됩니다.

2] 어떤 점이 있습니까? DTO의 건물 엔티티 클래스가 있습니까?

감사합니다.

답변

2

1 : 계층간에 엔터티를 전송하는 가장 좋은 방법은 응용 프로그램에 따라 다릅니다. 엔티티를 직렬화하는 것은 possible이지만 실제로 원하는 작업과 기억을 확실히해야합니다.

"이진 직렬화 및 WCF 데이터 계약 직렬화를 사용할 때, 객체 직렬화되고있는 객체 그래프가 객체 그래프에있는 관련 객체를 가지고 있고 객체도 직렬화됩니다. XML 직렬화는 관련 객체를 직렬화하지 않습니다. " 이 것을 = 너무 꽤 많이 저장됩니다 추가 할

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

가 곧 배관 코드의 양을 참조하십시오

Automapper 오히려 같은 배관의 모든 문장을 쓸 필요없이 자동으로 맵핑 특성에 의해 작동 특히 여러분이 뷰 클래스와 dto 객체를 가지고 있다면, 나는 이것이 완벽하게 원했던 것을 발견했다. 필자가 알고있는 한 automapper는 이름이 엔티티와 DTO간에 동일하고 이들 속성의 유형간에 매핑 할 수있는 경우에만 작동합니다. dto와 엔티티가 데이터를 다른 유형으로 저장하는 경우 유형간에 변환하기위한 맵핑 규칙을 추가 할 수 있습니다.

2에 대한 답변 : 개체를 DTO로 변환하고 상위 계층에서 수정하면 엔티티 프레임 워크를 통해 어떻게 개체를 절약 할 계획입니까? 대개 이러한 것들을 관련 엔티티로 변환하거나 새로운 엔티티를 만들고 이러한 변경 사항을 제출하십시오.

+0

절약 코딩 dto.id = entity.id?, 와우, 어쨌든 아직 답이없는 질문이 남았습니다. 엔티티를 dtos로 전송하는 것이 가장 좋은 방법입니까? 엔티티를 직렬화하거나 직렬화 할 수도 있습니다. – Robocide

+0

무엇을하고 싶습니까? 나는 정말로 당신의 어플리케이션과 선호도에 따라 "최고"라고 말할 수는 없습니다. 나는 당신의 모든 질문에 대답해야 할 몇 가지 포인트로 나의 대답을 업데이트했다. – bobwah

+0

automapper에 관해서, 나는 코드를 열지 않고 새로운 DTO를 작성하거나 존재하는 DTO 새로운 속성을 수정하지 않고도 맵핑을 원했다. [xml 구성에서 나올 수 있습니다.] 이미 im을 코드를 열고 DTO 클래스와 해당 속성을 작성하는 경우 dto.id = entitiy.id를 코딩하는 것이 시간 절약 효과가 없으므로 좋은 방법이지만 매우 적습니다 하나. 2] 당신은 또한 automapper를 dto -> entity로 사용합니까?내가 stackoverflow에서 몇 가지 문제가 봤어요? – Robocide

0

RIA Services을보고 싶습니다. 이것은 단지 이것을 위해 만들어졌습니다.