문제

이는 매우 일반적인 데이터베이스가있는 엔터프라이즈 애플리케이션과 관련이 있습니다 (모든 객체는 데이터베이스의 데이터와 국제화/세계화/로컬 화).

  • 저장소 패턴에 대한 모델을 만든 다음 DB Access (LINQ2SQL 또는 EF)를위한 다른 모델을 만들고 나중에 리포지토리 모델 데이터 액세스 계층으로 사용 하시겠습니까?
  • L2S/EF/NHIBERNATE 모델을 직접 사용하여 모델을 DB에 매핑하고 지속성 층을 열어 주시겠습니까?

이 듀얼 모델 아이디어 (리포지토리 패턴) 팝업 문제가 듀얼 모델 환경에서 직접 L2S/EF 모델을 사용할 때 동적 인 스택 가능한 LINQ 검색 쿼리를 만드는 데 문제가 있습니까?

조언하십시오.

도움이 되었습니까?

해결책

저장소에 iqueryable 객체를 노출하는 한 제안하는 방식으로 쿼리를 스택하는 데 아무런 문제가 없습니다.

게으른 하중은 당신이 기대할 수있는 방식으로 지원되지 않기 때문에이를 위해 엔티티 프레임 워크를 사용하는 것에주의를 기울일 것입니다. LINQ에서 SQL은 문제없이 게으른 하중을 처리합니다.

엔티티 프레임 워크의 게으른로드에 대한 자세한 내용은 다음을 참조하십시오.
http://www.singingeels.com/articles/entity_framework_and_lazy_load.aspx

다른 팁

보세요 날카로운 건축.

리포지토리 객체에서 iqueryable을 반환하는 것과 관련하여, 그러한 일을하는 것은 응용 프로그램에서 적절한 우려를 분리시킬 수 있다고 생각합니다. 나는 데이터 액세스 계층 내에서 iqueryable과 함께 일하지만 컨트롤러를 반환하기 시작하면 컨트롤러 및/또는 뷰가 데이터 액세스를 시작할 수있는 기회를 제공합니다. 이러한 응용 프로그램의 테스트 가능성에도 부정적인 영향을 줄 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top