2010-05-02 1 views
0

나는 Silverlight 4에서 WCF RIA RC2 도메인 서비스를 사용하여 간단한 양식을 가지고 있습니다.도메인 서비스 제출 문제

내 양식이 모두 훌륭하게 작동하는 것으로 나타났습니다. 세분화 된 제어 및 서식 지정을 위해 전통적인 코드를 사용했습니다.

다른 필드 중 하나를 업데이트하지 않는 한 특정 양식의 데이터가 업데이트되지 않습니다.

여기 내 코드입니다.

void ConfirmSave_Closed(object sender, EventArgs e) 
    { 
     if ((bool)ConfirmSave.DialogResult) 
     { 
      _New = false; 
      tblEmailTemplate Selected = (tblEmailTemplate)lstEmailTemplates.SelectedItem; 
      Selected.Name = txtName.Text; 
      Selected.Description = txtDescription.Text; 
      Selected.Body = txtBody.Text; 
      Selected.ModifiedBy = Security.DomainUserName; 
      Selected.ModifiedOn = DateTime.Now; 
      Selected.Body = txtBody.Text; 
      DataStore.SubmitChanges(); 
      Dialogs.ConfirmationDialog Added = new Dialogs.ConfirmationDialog(Selected.Name + " has been saved.", "Email Template Saved"); 
      Added.Show(); 
      lstEmailTemplates.ItemsSource = DataStore.tblEmailTemplates; 
      lstEmailTemplates.DisplayMemberPath = "Name"; 
     } 
    } 

변경 사항을 입력하면 각 필드, 이름, 설명, 본문에 'A'를 추가 할 수 있습니다. 모두 3 개가 업데이트됩니다.

  1. NameA
  2. DescriptionA
  3. BodyA

하지만 설명의 변경을 해달라고하면, 몸은 업데이트되지 않습니다. 난 단지 몸에 변화의 업데이트되지를 한 경우

  1. NameAB
  2. DescriptionA
  3. BodyA는

(BodyAB을되어 있어야합니다). 이름 만 변경하면 업데이트됩니다.

이것은 매우 이상한 행동입니다. 도메인 서비스를 통해 아래로 코드 추적 올바른 변경 사항이있는 변경된 레코드를 참조하십시오 - 지금까지 ID가 포함 된 이전 레코드와 다른 모든 null 인, 이것은 아마도 설계된 것입니다.하지만 도메인 서비스를 디버깅하는 데 많은 시간을 할애하지 않습니다. 층.

아이디어가 있으십니까?

답변

0

RC1의 Check Boxes와 같은 버그가 있는데,이 버그는 실제로 코드가 바뀌 었습니다. RIA가 제공하는 데이터 바인딩 기술을 채택해야 할 충분한 이유가 있습니다.