2010-04-02 7 views
0

데이터베이스의 단일 엔터티의 특정 필드 만 업데이트하려는 상황이 있습니다.ria-service가있는 단일 엔터티의 단일 필드 업데이트

내 실버 라이트 애플리케이션 인 에 해당 유형의 엔티티를로드했으며 서버에서 끊임없이 변경된다는 것을 알고 있지만 ... 이 실버 라이트 클라이언트에 의해 설정되어야하는 하나의 필드가 있습니다 ... 서버 오직 그것을 읽을 것입니다. 해당 필드에 대한 새 데이터를 서버로 보내려면 어떻게해야합니까?

예 "TextField"라고하는 엔티티. Silverlight 응용 프로그램 에로드 된 TextFields 목록을 가지고 있으며 사용자가 의 미리로드 (문자열) 속성을 업데이트하고 서버에서 다른 것을 변경하지 않고 서버로 돌아 가야합니다.

간단한 SetPreloadText (...) 메서드를 DomainService에 추가하려고 시도했지만 은 Silverlight가 이상한 오류 코드로 인해 충돌하게 만듭니다.

이 방법이 있습니까? Silverlight라는 아이디어에 반대하여 일하고 있습니까? 언제나 클라이언트의 버전이 구식 일 가능성이 높으므로 전체 객체를 다시 보내지 않으려 고합니다.

답변

0

RIA 서비스는 이름이 다르도록 지정하지 않는 한 RIA 서비스가 crud에 대한 insert/update/delete와 같은 특수한 명명 규칙을 사용하기 때문에 chrashes라고 생각합니다.

다른 속성이 변경되지 않았기 때문에 특정 속성 만 업데이트하려는 경우. 업데이트 방법에서

this.Context.AttachAsModified(currentEntityWithAllTextFields, this.ChangeSet.GetOriginal(currentEntityWithAllTextFields)); 

을 확인해야합니다. 이것으로 정확히

+0

AttachAsModified 메서드를 사용할 수 없습니다 ... 서비스가 아니라 클라이언트, 어떤 아이디어? – TimothyP

+0

SL3 및 RIA 서비스 베타 또는 SL4 및 RIA 서비스 RC를 사용하고 있습니까? RC를 사용하는 경우 AttachAsModified가 엔티티 집합으로 이동되었으므로 this.Context.TextFields.AttachAsModified –

+0

SL4 RC, 살펴 보겠습니다. – TimothyP

0

지금 당신이 사용할 필요가 ... 변경 무엇이 도움이

희망을 ... 필터링 할 수 있습니다 :

this._yourENtitySet.Value.ApplyCurrentValues(modified); // The one you received 
    this._yourENtitySet.Value.ApplyOriginalValues(original); /// The original one 

희망이 도움이!

관련 문제