데이터 모델을 노출하는 WCF 데이터 서비스가 있습니다. 데이터 보안/필터링 및 비즈니스 규칙은 폼 인증 쿠키의 현재 사용자를 기반으로하는 쿼리 인터셉터 및 서비스 작업을 사용하여 시행됩니다.ASP.NET 웹 페이지의 데이터에 액세스하는 올바른 방법은 무엇입니까?
데이터 서비스는 일부 페이지에서 AJAX 컨트롤을 공급하는 데 사용되며 어느 시점에서 모바일 응용 프로그램에서 사용할 수도 있습니다.
동일한 데이터를 표시하고 편집해야하는 여러 개의 비 AJAX MVC 뷰가 있습니다. 컨트롤러에서 직접 Entity Framework를 사용하려면 로그인 한 사용자에 대한 관련 데이터 필터링을 다시 구현해야합니다. 올바른 접근 방식은 동일한 응용 프로그램 내에서 동일한 데이터 서비스를 로컬로 쿼리하는 것입니까?
이렇게하면 반환 된 개체에 고급 LINQ 작업을 수행 할 수있는 기능이 손실되지 않습니까? 현재 LINQ 또는 ODATA를 사용하여 WCFDS에서 모든 종류의 작업을 수행 할 수 있습니다. 업데이트는 어떨까요? 수행 할 수있는 모든 업데이트/삽입 작업에 대해 별도의 함수를 작성해야합니까? 현재 데이터베이스 우선 모드에서 EF를 사용하고 있습니다. 코드를 첫 번째 모드로 전환하면 엔티티 클래스에서 필터링을 수행 할 수 있습니까? 그렇다면 전체 LINQ 기능 집합 및 삽입/업데이트 기능을 유지합니다. – Monstieur
필자는 기존의 WCFDS에서 동일한 쿼리 인터셉터와 서비스 작업을 계속 사용하고 MVC 뷰에서 사용할 수있는 별도의 모듈을 호출하도록 구현을 변경하는 등 더 세밀한 작업을 생각했습니다. 나는이 경우에 제안 할 때 코드 첫 번째 모델을 추천 할 것이고, 그것은 당신이 그 인수 분해를 쉽게하기 위해 필요한 수준의 제어를 제공한다. –
그러면 사이트의 다른 부분에서 일하는 사람들이 공통 필터링 기능을 호출하는 대신 데이터 필터링이나 자체 필터링을 잊어 버리는 결과를 초래할 수 있습니다. 이미 필터링 된 데이터 액세스 수단을 원합니다 (즉, 다시 쿼리하는 경우 DbContext 또는 WCFDS) – Monstieur