WCF RIA Services로 Silverlight 4 응용 프로그램을 만들고 있습니다.클라이언트 측에 사용자 지정 서버 측 Entity Framework 속성 표시
서버 측 (*.Web
프로젝트)에는 SQL Server 데이터베이스에서 자동 생성되는 엔터티 모델이 있습니다. 클라이언트 측에서 Silverlight 어셈블리에서 사용하기 위해 Visual Studio에서 생성 된 도메인 서비스 및 프록시 개체가 있습니다.
사용자 지정 속성을 모델에 추가하고 싶습니다 (서버 쪽이 바람직 함). 외래 키 (실제 외래 키 제약은 아님)로 연결된 Contact
, Company
및 Address
테이블이 있다고 가정 해보십시오. Contact
의 Company
의 Address
개체를 반환하는 속성을 추가하고 싶습니다.
난 부분 클래스를 만들어 Contact
클래스를 확장하고 CompanyAddress { get; }
속성을 추가하여이 작업을 시도했습니다. 하지만 클라이언트 측에서 자동 생성 된 코드로 전파하기 위해 새 속성을 사용하여 수행해야 할 작업에 대해 알지 못합니다. 이 속성에 추가해야하는 특정 속성이 있습니까? 코드 생성기가 알 수 있도록 어딘가에 등록해야합니까?
네비게이션 속성 일 필요가 있습니까? 아니면 더 간단 할 수 있습니까?
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 아니면 서버 측 모델을 확장하고 클라이언트 측에서 수행해야합니까? (클라이언트 측에서 수행 할 경우 개별 Entity
클래스에서 컨텍스트 개체에 액세스하지 못하는 문제에 직면합니다.)
현재 기존 데이터베이스 스키마를 수정할 수 없으므로 생성 된 .edmx 파일에 이미 존재하는 외래 키 관계에 의존 할 수 없습니다. 스키마 *는 앞으로 변경 될 수 있고 edmx 파일을 다시 생성 할 때 수정 사항을 덮어 쓸 수 있기 때문에 .edmx 파일을 수동으로 수정하면 안됩니다. – kpozin
속성에 setter를 추가하고 생성 된 엔터티 클래스에 DataContract 특성이 있는지 확인하십시오. 그렇다면 DataMember 특성으로 속성을 표시하십시오. –
지금까지 도와 주셔서 감사합니다. 저는 세터를 추가하고 [DataMember]로 속성을 표시했습니다. 이것은 아무 효과가 없습니다. 이 속성은 Generated_Code의 Contact 프록시 클래스에 추가되지 않습니다. \\ *. Web.g.cs – kpozin