1

개체 클래스를 통해 추가 메서드와 속성을 추가 한 Entity Framework에서 정의 된 개체가 있습니다. 나는이 일을하는 데있어서 대부분의 한계점을 이해하고 있지만, 내가보고있는 것을 확인하고 싶다. (또는 내가이 일을하기 위해해야 ​​할 일이 있으면 잘 알기를 원한다.)ADO.Net 데이터 서비스에서 partial (Entity Framework) 클래스에 정의 된 읽기 전용 속성을 사용하는 방법

다음 몇 가지 항목을 사용하여 읽기 전용 계산 된 필드를 만드는 읽기 전용 속성이있는 부분 클래스가 있습니다. 읽기 전용 속성이 ADO.Net 데이터 서비스를 통해 다시 오지 않는다는 것은 궁금합니다. 기대했던대로/기대하고있었습니다. 즉, 엔티티 프레임 워크에서 속성을 볼 것으로 예상했으며 부분 클래스를 통해 코드에서 정의 된 속성이 데이터 서비스 호출을 통해 왔습니다.

이 경우입니까? ADO.Net Data Services가 데이터를 쿼리 할 때 부분 클래스가 완전히 무시됩니까? 그렇다면 엔티티에 읽기 전용 유형 속성을 가져 오는 가장 좋은 방법은 무엇입니까 (다른 네임 스페이스가있는 동일한 부분 클래스가 클라이언트 측 코드베이스와 서버 측 코드베이스로 잘라내어 붙여지는 것을 피하기 위해).

답변

3

은 (see full post here)

방법에 의해 노출되는 기존 엔티티에 읽기 전용 속성을 추가하기 위해 "나는 당신이 요구하는 생각" EF EF의 경우 EF 메타 데이터 API의 을 사용하여 메타 데이터를로드하므로 반영하지 않습니다. 따라서 추가 속성 부분 클래스를 통해 추가했을 수도 있습니다. 무시됩니다.

Astoria에는 아직 읽기 전용 속성의 개념이 없습니다. 따라서 모델의 부분이 아닌 다른 속성을 노출하는 경우 을 (를) 어떻게 처리해야할지 모릅니다. 우리는 또한 서버에 siliently 데이터를 잃고 싶지 않습니다. "

그래서 보이는이 ADO.Net 데이터 서비스를 통해 노출 될 수없는 기능처럼.

2

여기에는 기본 모델 (EF)과 WCF/mex 레이어라는 두 가지 개별적인 고려 사항이 있습니다. 추가 속성은 edmx 모델의 일부가 아니지만 문제가 WCF/mex 측면과 관련이 있는지 궁금합니다. 이 일 경우에도 그러나

, ADO.NET 데이터 서비스 전송 데이터하지 논리. 계산 된 속성에 의존하는 것은 안전한 옵션이 아닙니다. 클라이언트는 수식 - 원래 값만 갖지 않습니다. 내가 생각하는 등,

+0

데이터가 전송된다는 것을 알고 있습니다. 이는 내가 원했던 것입니다 (클라이언트에서 로직이 필요 없음). 아직 ADO.Net Data Services에서이 작업을 수행 할 방법이 없을 수도 있습니다. 그래도 도와 ​​줘서 고마워. – ChrisHDog

-1

그것 인 확인하려면

(쓰기가 유용 아무것도하지 않는 경우에도) 재산 읽기/쓰기를 만드는 시도하고 값이 [DataMember를] 속성을 가지고 확인 문제는 XML 직렬화에서 get 및 set 메서드를 사용하여 속성 만 serialize하는 것입니다. 그렇지 않으면 비 직렬화 할 수 없습니다. 속성에 빈 세트 메소드를 추가하고 이동 방법을 확인하십시오.

롭 마이크로 소프트 포럼 게시물에서

관련 문제