2012-07-24 3 views
0

몇 가지 방법이 있습니다. linq 쿼리를 serialize 할 수 있지만 표현식 트리 직렬화를 허용하는 OSS 프로젝트가 제대로 지원되지 않는 것 같습니다.공유 계약 WCF 데이터 서비스

다음을 수행 할 수있는보다 전통적인 방법이 :

// Create the DataServiceContext using the service URI. 
NorthwindEntities context = new NorthwindEntities(svcUri); 

는 그러나 개체 생성 폴더의 유틸리티를 사용하지 않고.

new ChannelFactory<IRepository<MyEntity>>(myBinding, myUri).CreateChannel() 

는 또한 나는 그것이 전체의에서 데이터 집합을 수출하지 않으 : 공유 IRepository 계약을주의 - 기본적으로 나는 다음 의사 코드에 유사한 무언가를 사용하고 싶습니다. 나는 정기적 인 서비스가 IQueryable 작업을 노출하기를 원한다. IQueryable 인터페이스는 독립형 데이터 서비스가 아닌 비즈니스 로직과 더욱 강력하게 결합 될 수 있습니다.

나는 OSS 솔루션을 잘 받아들이지 만 안정적이고 가볍고 능동적이며 잘 지원되고 자주 업데이트되기를 기대하고 있습니다.

답변

0

리포지토리 패턴과 많은 사용자 지정 비즈니스 논리를 구현하려는 경우 단기간에 웹 API가 최선의 선택 일 수 있습니다. WCF Data Services의 우선 순위 목록에서이 두 가지 질문에 대한 더 나은 지원을 얻는 것이 매우 중요하지만 사실은 우리가 지금 당장은 꽤 부족하다는 것입니다.

웹 API의 한계는 OData 지원이 충만하기 때문에 시간과 함께 올 수 있습니다. WCF 데이터 서비스의 한계는 시간이 지나면 개선 될 수있는 비즈니스 로직 삽입/소프트웨어 패턴의 용이성이 될 것입니다.

즉, 읽기 전용 서비스가있는 경우 리플렉션 프로 바이더는 원하는 모든 작업을 거의 수행 할 것입니다.

+0

나는 그것을 고려했다. 그러나 웹 애플리케이션 이외의 것을 위해 웹 API를 사용하는 것은 약간 힘들 것으로 보인다. 예. WPF/Silverlight 또는 일부 다른 서비스 내부. 내 이해 꺼야? 또한 리플렉션 프로 바이더에 대한 링크가 있습니까? 읽기 전용 svc는 좋은 시작처럼 들립니다. – Alwyn