2

我创建了一个 silverlight 应用程序,并有一个使用域数据源填充的列表框。我创建了一个按钮,该按钮采用选定的列表项并更新一个字段(在我的情况下它称为 IsDeleted)我的域服务看起来像这样

  public IQueryable<Employee> GetEmployees(int storeID)
    {
        return this.ObjectContext.Employees.Where(e=>(e.StoreID==storeID)&&(e.IsDeleted==false));
    }

在我的按钮事件中,我正在这样做

    EmployeeRecord.IsDeleted = true;
                        dsEmployee.SubmitChanges();

数据库已按预期更新,直到重新加载应用程序或按 F5 时我看不到更新。我还应该做什么才能立即看到更新?

4

1 回答 1

3

您需要重新加载域上下文。调用以下命令:

myDomainDataSource.SubmitChanges((submitArgs) =>
            {
                if (submitArgs.IsComplete)
                {
                    myDomainDataSource.Load<MyType>(myDomainDataSource.MyQuery(filterTextBox.Text), System.ServiceModel.DomainServices.Client.LoadBehavior.RefreshCurrent, true);
                    if (myDataSource.CanLoad)
                        myDataSource.Load();
                }
                else if (submitArgs.HasError)
                {
                    throw submitArgs.Error;
                }
            }, null);
于 2011-03-01T17:37:24.613 回答