내 프로젝트의 여러 "부품"(예 : WinForms app)은 L2SQL을 기반으로 코딩 한 DAL을 사용합니다. 여러 웹 응용 프로그램을 혼합하여 넣고 싶지만 DAL이 웹 응용 프로그램보다 훨씬 많은 데이터를 "제공"한다는 점이 문제입니다. 더 많이.Linq to SQL, WebServices, Websites - 모두 계획
웹 서비스에서 웹 사이트가 필요로하는 데이터를 래핑하고 DAL에 직접 연결하는 웹 사이트 대신 DAL에 액세스하는 웹 서비스를 통과하는 것이 좋을까요?
오버 헤드가 많을 것이라고 생각하지만, 웹 애플리케이션에 실제로 필요한 것보다 훨씬 많은 데이터를 액세스 할 수있는 "능력"이 있다는 것을 느끼는 것이 맘에 들지 않습니다.
모든 입력 사항을 매우 높이 평가할 것입니다. 도움 주셔서 대단히 감사합니다.
"저장소"링크는 Repo의 'AsQueryable'작성에 관해 전혀 말하지 않습니다. Queryable 리포지토리를 사용하면 기존 내용을 다시 작성하지 않고도 여러 응용 프로그램의 db 호출을보다 효과적으로 구성 할 수 있습니다. (물론 응용 프로그램 내에서 기존 db 호출에 대한 초기 재 작성을 수행 할 준비가되어 있어야 함). 이것이 저장소 계층이 서비스 계층과 잘 어울리는 이유입니다 ... 다른 응용 프로그램에 대해 다른 서비스. –
@rock :'IQueryable' 객체를 반환하겠다는 결정은 소비자가 갖고 싶은 컨트롤의 정도에 달려 있습니다. 일반적으로,'IQueryable' 객체는 Linq to SQL 객체 트리에있는 다른 링크 된 객체에 액세스 할 수 있으며 추가 Linq 쿼리를 실행할 수 있습니다. 이것은 일반적으로 더 얇고 강력한 저장소 계층을 생성하지만 (게으른로드는 좋음) 제어 및 보안상의 이유로 항상 이렇게하지 않는 것이 좋습니다. 때로는 목록이나 단일 엔티티 객체 만 있으면됩니다. –
네, 그렇습니다.하지만 서비스 레이어에 보안과 컨트롤을 추가 할 수는 없습니까? (이것은 내가하는 일입니다.) –