域服务提交问题

时间:2010-05-02 20:19:21

标签: wcf silverlight service ria

我在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
  4. 但是如果我没有对描述进行更改,Body就不会更新。

    1. NameAB
    2. DescriptionA
    3. BodyA(应该是BodyAB)
    4. 如果我只更改Body而不更新。 如果我只对名称进行更改,则会更新。

      这是非常奇怪的行为。通过域服务跟踪代码我看到更改的记录有正确的更改 - 只要旧记录它只包含ID而其他一切都是null,这可能是设计但我不花太多时间调试域服务层

      有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有一个像RC1中的Check Boxes这样的bug,这个bug实际上是在选择更改的代码中。采用RIA提供的数据绑定技术的一个很好的理由。