2010-05-14 2 views
1

우리는 계층화 된 웹 응용 프로그램을 개발 중입니다. 사양 :ASP.Net 계층화 된 통신

  • 3 레이어, 데이터 레이어, 비즈니스 레이어, UI 레이어.
  • 는 C#으로 프로그램 된
  • 데이터 레이어는

이 현재 우리는 LINQ이 개 단체를 통해 비즈니스 계층에 대한 데이터 계층 반환 IEnumerable<T>을 가진 계획 엔티티 프레임 워크를 사용하고, 비즈니스 계층은 UI에 데이터를 반환합니다 층.

ui 계층은 데이터 계층의 존재에 대한 지식이 없으므로 BLL에서 전달 된 IEnumerable의 결과를 어떻게 처리 할 것인가? 여기서 T는 데이터 계층에 정의되어 있습니까?

이 작업을 수행하는 방법에 대한 좋은 예가 있습니까? 필자는 레이어를 느슨하게 결합하기 위해 공장/인터페이스/추상화에 대한 새로운 기능을 제공합니다.

나는 여기서 passing data in an ntier application이라는 질문을 보았고 모든 레이어간에 엔티티 레이어를 공유하도록 권장했지만 다른 레이어가 데이터베이스를 쿼리 할 수 ​​없도록하고 싶습니다.

답변

1

데이터 개체를 별도의 프로젝트 또는 최소한 별도의 네임 스페이스에 정의하면 Display 레이어가 개체에 대한 참조를 가질 수 있지만 db에 액세스 할 수있는 DAL은 가질 수 없습니다.

+0

Entity Framework가 자동으로 DTO를 만들고 엔터티 데이터 모델이 데이터 계층에 있으므로 Visual Studio에서 DTO를 다른 곳에서 만들면 어떻게 될까요? –

+0

나는 나를 위해 DTO를 만들기 위해 T4를 사용했다. –

관련 문제