Entity Framework를 사용할 때 데이터베이스 테이블을 나타내는 클래스를 작성해야합니까? 예를 들어, 다음 표가 있습니다. 계정, 고객, 주문 ... Entity Framework는 Accounts, Orders, Customers .. 등의 개체 집합 외에도 Account, Customer, Order 개체를 제공합니다. 이 오브젝트들을 랩핑해야 할 것인가 말 것인가?Entity Framework를 사용할 때 비즈니스 로직 계층의 데이터 개체
1
A
답변
0
귀하의 요구 사항을 모른 채 간단히 "아니오"라고 말할 수 있습니다. EF는 모든 도메인 개체를 생성하고 개체 세트로 테이블을 나타냅니다.
0
EF는 테이블 엔터티의 개체 표현을 생성합니다. 그러나 도메인 객체와 동일하지는 않습니다.
응용 프로그램은 EF 개체가 아닌 도메인 개체로 작동해야합니다.
구체적인 도메인 클래스를 작성하는 것이 좋습니다. 그러나 복잡한 방식이며, 경우에 따라 불필요한 복잡성 계층을 추가합니다.
또 다른 방법은 EF CodeFirst를 사용하는 것입니다 (예 : http://msdn.microsoft.com/en-us/data/hh134698).
나는 데이터베이스 스타일의 첫 번째 방법을 사용하기 때문에 이전 스타일이 될 것입니다. 나는 Domain Object라는 용어에 익숙하지 않지만 다른 클래스로 클래스를 래핑하는 것을 의미한다고 가정한다. 어쨌든, 나는 복잡한 레이어를 추가 할 필요가 없다. 반면에 그러한 클래스를 제거하면 내 프레젠테이션 레이어가 엔터티 프레임 워크와 직접 대화하고 프레젠테이션 레이어가 금지되어야하는 데이터 액세스 레이어와 직접 접촉하게됩니다. –
프리젠 테이션 레이어에서 직접 데이터 액세스 개체를 사용하는 것은 바람직하지 않습니다. 프레젠테이션 레이어와 데이터 액세스 레이어 사이에 '비즈니스 개체'의보다 정확한 의미와 '데이터 개체'와 '비즈니스 개체'. –