2011-04-08 6 views
0

컴파일 타임에 알려진 테이블이나 존재하지 않는 테이블을 쿼리하고 odata를 통해 테이블을 게시 한 다음 CRUD 용 실버 라이트 클라이언트에서 사용할 수있게해야합니다.동적 쿼리 - Expando/동적 객체 유형

동적 인 유형 또는 ExpandoObject 형식의 PCO를 사용하면 멋지 겠지만 작동하지 않는 것 같습니다 (의심되는 경우).

유형 매핑을 수행하고 행 수준에서 직렬화 할 수 있도록하는 인터페이스가 있는지 궁금해서 데이터 행을 동적으로 가져 와서 서버 측의 값을 왕복 이동합니다. 아마도 PCO가 "도움"하기 위해 사용하는 인터페이스이거나 dynmically 만든 속성 getter/setter. 나는 또한 런타임에 컨텍스트 클래스를 동적으로 생성하는 것에 관심이있다. 그러나 그것은보기 흉한 일이다.

클라이언트 측에서 odata 피드로 동일한 작업을 수행 할 수있는 솔루션이 있지만 여기에는 해결책이 있지만 세상과 공유 하기엔 충분하지 않습니다.

답변

0

EF는 새로운 테이블을 만들고 매핑에 추가 할 수있는 간단한 방법은 물론 "동적"접근 방식을 제공하지 않습니다. 또 다른 질문은 WCF 데이터 서비스가 데이터 변경에 얼마나 잘 작동하는지입니다. 지원되지 않는다고 생각합니다.

동적으로 변경된 구조 (추가 된 테이블, 열 등)를 원할 경우 각 엔터티에 대해 새 테이블을 만드는 대신 일부 메타 데이터 모델을 사용하십시오. 메타 데이터 모델은 일반적으로 공통 속성을 가진 테이블과 속성 이름과 값의 키 값 쌍이있는 관련 테이블을가집니다. 보다 복잡한 시나리오로 확장 될 수 있지만이를 달성하는 유일한 방법입니다. EF에서 매핑하는 대신 엔티티 유형을 데이터로 사용하십시오.