2012-03-01 3 views
3

저는 엔티티 프레임 워크 백엔드를 사용하여 WCF 서비스를 개발해 왔습니다. WCF 서비스와 클라이언트간에 데이터를 전달할 때 POCO 또는 DTO를 사용하기 전에 POCO를 설정하기로했습니다. 그것은 코딩을 시작했을 때만 클라이언트와 WCF 서버간에 데이터를 전달하는 데 EF 엔티티를 사용하는 것을 고려한 적이 없다는 것을 깨달았습니다.WCF를 통해 Entity Framework 클래스 공개 - 좋은 아이디어 또는 나쁨

제 질문은 이것입니다 : WCF 서비스와 클라이언트 간의 데이터 전송을 위해 EF 엔터티를 사용하는 것이 허용 가능한 선택입니까? 아니면 나쁜 습관으로 간주됩니까?

나는이 질문이 너무 주관적으로 건너하지 않는 희망,하지만 난이 오히려 매우 될 것이라고 문제에 대한 최선의 설계 솔루션 (보다 설계 옵션인지 이해하려고 노력 중이 야 주관적인 질문).

답변

5

우리는 이것을 나쁜 생각이라고 생각합니다.

WCF 인터페이스는 외부 세계와의 계약입니다.

내부 데이터베이스를 변경해도 외부 계약이 변경되어서는 안됩니다. 외부 계약이 10 개의 다른 시스템에서 사용되는 경우 조정 작업이 너무 커서 변경을 불가능하게 만들 수 있습니다.

물론 하나의 클라이언트로 짧은 시스템 수명을 가지며 상황에 따라 적절할 수 있습니다.

+0

감사합니다. 당신이 대답 할 때 그 대답은 대단합니다. 나는 그런 EF 엔티티 노출에 대해 약간의 불안감이 있다고 생각했습니다. – GrandMasterFlush

관련 문제