【问题标题】:WCF data service no refresh changes from database updatesWCF 数据服务没有来自数据库更新的刷新更改
【发布时间】:2012-05-21 16:31:38
【问题描述】:

我在尝试刷新 Gridview 中的数据时遇到问题,问题是如果我的应用程序正在运行并且我更新了数据库上的某些内容,则新数据不会刷新,但如果我关闭应用程序并再次重新运行更改出现。

这是我在构造函数中的一段代码:

IQueryable<GyLoadCarrier> loadCarrierQuery = queryRepository.GetGyLoadCarriers();

        LoadCarriersMfsTransportsLoader = new WcsDomainCollectionViewLoader<GyLoadCarrier>(loadCarrierQuery)
        {
            RequestTotalItemCount = true
        };

        LoadCarriersMfsTransportsLoader.LoadStarted += OnLoadCarrierMfsTransportsLoaderLoadStarted;
        LoadCarriersMfsTransportsLoader.LoadCompleted +=OnLoadCarrierMfsTransportsLoaderLoadCompleted;

        AvailableLoadCarriers = new DomainCollectionView<GyLoadCarrier>(LoadCarriersMfsTransportsLoader,
                                                                        LoadCarriersMfsTransportsLoader.Data);
        LoadCarriersMfsTransportsLoader.View = AvailableLoadCarriers;

        INotifyCollectionChanged notifyingSortLoadCarrierDestination = AvailableLoadCarriers.SortDescriptions;
        notifyingSortLoadCarrierDestination.CollectionChanged += (sender, e) => AvailableLoadCarriers.MoveToFirstPage();

        using (AvailableLoadCarriers.DeferRefresh())
        {
            AvailableLoadCarriers.PageSize = 30;
            AvailableLoadCarriers.MoveToFirstPage();
        }

LoadCarriersMfsTransportsLoader.Load("LoadCarrierAddressChanged");

而刷新命令就是:

 protected override void OnRefresh()
    {

        MfsTransportsLoader.Load(Resources.Strings.LoadingMfsTransportsProgressMessage);
    }

那么知道为什么会这样吗?

【问题讨论】:

    标签: entity-framework-4 wcf-data-services


    【解决方案1】:

    假设您从您的客户端使用相同的 DataServiceContext(或派生)类实例运行相同的查询两次(更新之前和之后),这很可能是由于 MergeOption (http://msdn.microsoft.com /en-us/library/system.data.services.client.dataservicecontext.mergeoption.aspx)。默认值 AppendOnly 阻止将更新应用于您的客户端对象,因为它们已经存在(这是为了不覆盖您可能所做的任何潜在更改)。您可以通过将 DataServiceContext.MergeOption 设置为 OverwriteChanges 来解决此问题。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 2011-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      相关资源
      最近更新 更多