-1

데이터 영역 (저장소 패턴 & EF 4.0 사용), 비즈니스 계층 (추가 논리가있는 POCO 및 서비스 계층)으로 분할되는 응용 프로그램을 만듭니다. WCF를 사용하여 클라이언트에 노출됨).삽입 대 업데이트를위한 N 계층 (N-Tier) responsbility 위치

레코드를 데이터베이스에 저장할 때 기존 레코드를 업데이트하는지 또는 새 레코드를 삽입하는지 확인해야합니다. 책임의 위치는 서비스 레이어에서 명시 적으로 관리되거나 데이터 영역에서 명시 적으로 관리되므로 레코드를 저장하면 암시 적으로 수행 할 작업을 결정할 수 있습니다.

모든 의견 환영 - 스스로 결정할 수 없습니다!

답변

0

내 첫번째 생각은 내가이 엔티티 프레임 워크 자체를 알아낼 수 있어야 뭔가 생각입니다,하지만 난 그것에 대해 확실히 100 % 아니에요.

EF를 대신하여이 논리를 저장소에 넣을 것입니다. Customer 객체를 다음과 같이 저장소에 전달한다. myRepository.Save (myCustomer); 고객이 할당 된 ID가 아니면이 상태를 추적하고 삽입 또는 업데이트 할 EF를 요청할 수있는 경우

다음 고객의 저장 방법에

, 그것은 확인합니다. 이 방법은 관계없이 저장이 호출되는 곳 (웹 서비스, UI 등)에 관계없이이 논리를 처리합니다. 비즈니스 오브젝트를 저장에 적용되는 비즈니스 규칙이있는 경우

0

는 책임 그렇지 않으면 결정은 일 층의 책임이어야 비즈니스 계층에있다.

EF를 사용하고 있다는 것은 부적절합니다.