2011-07-27 2 views
3

RIA 서비스에서 EF를 사용하고 있습니다. 간단한 응용 프로그램. 항목 목록로드, 찾아보기/편집/저장. 문제는 일부 변경 사항이 db에 지속되지 않는다는 것입니다.RIA 서비스/EF. 파생 클래스의 bool 필드에 대한 변경 내용이 데이터베이스에 저장되지 않습니다.

나는 사람에게 만든 다음

Person 
    ... 
    string Name 
    bool IsActive 


Customer : Person 
    ... 
    string Address 
    bool IsLocal 

변경이 제대로 저장과 모델을 가지고있다.

고객을 변경할 때 IsLocal 값을 true로 변경하면 올바르게 저장됩니다. false로 변경하면 변경 내용이 데이터베이스에 저장되지 않습니다.

  1. 보일러 플레이트 코드, 아니 사용자 정의
  2. 오류 메시지를 생성합니다. 제출 op와 관련하여 모든 것이 잘되었습니다.
  3. 주소 변경 올바르게 저장
    • 주소를 변경하고 IsLocal을 설정하면 둘 모두 올바르게 저장됩니다.
    • 주소를 변경하고 IsLocal을 지우면 주소가 저장되지만 IsLocal은 그대로 유지됩니다.
  4. IsActive (개인)의 변경 사항은 삭제 또는 설정 여부에 관계없이 항상 올바르게 저장됩니다.
  5. 다른 테이블을 사용하는 다른 솔루션에서 문제를 재현했습니다.
    • 동일한 문제가있는 것으로 보아 파생 클래스에서 bool/bit 필드를 지울 수 없습니다. 사람들이 감상 할 수있다 제공 할 수

어떤 도움.
감사합니다.
Alan.

this.ChangeSet.Attach(entity); 
this.ObjectContext.ChangeObjectState(entity, EntityState.Modified); 

에 대한

this.ChangeSet.AttachAsModified(entity, this.ChangeSet.GetOriginal(entity)); 

:

+0

이 질문에 도움이 되었습니까? 나는 단지 같은 일로 희생되었다. – MongooseNX

+0

아니요. 답변. 다른 개발자들 중 한 명은 그것을 따라 왔습니다. EF 사람들은 자신의 편에서는 일어나지 않고 있으며 RIA 사람들로부터 아무것도받지 못했다고 말합니다. 우리는 현재 임시 해결 방법을 사용하고 있습니다. – AlanT

+0

생성 된 클라이언트 측 RIA 파일 소스를 게시 할 수 있습니까? –

답변

0

좋아, 내가 나를 위해 노력하고 해결책 ...

내가에서 업데이트 방법에 대해 생성 된 코드를 교체있어 희망이 도움이!