zoukankan      html  css  js  c++  java
  • WCF RIA Services EntitySet 在Silverlight端的缓存问题

    //问题在子窗体中修改实体EdsNonstandardTaskItem的值并保存数据库后关闭子窗体刷新父页面数据
    
    //客户端调用方法如下
    var loadOp = _edsSoDC.Load<EdsNonstandardTaskItem>(_edsSoDC.GetEdsNonstandardTaskItemByContractGuidQuery(contractBaseInfo.ContractGuid));
    
    //Load后通过调试服务端已经将数据修改提交的数据库且服务端的GetEdsNonstandardTaskItemByContractGuid方法确实返回了最新的数据然而客户端_edsSoDC.EdsNonstandardTaskItem中的数据仍为修改前的数据缓存问题
    
    //解决方法:
    //方法一:
    //Load前将客户端的实体集合清空
    _edsSoDC.EdsNonstandardTaskItems.Clear();
    
    //方法二:
    //对Load的方法进行修改
    
    
    var loadOp = _edsSoDC.Load<EdsNonstandardTaskItem>(_edsSoDC.GetEdsNonstandardTaskItemByContractGuidQuery(contractBaseInfo.ContractGuid), LoadBehavior.RefreshCurrent, false);
    
    //需要引入using System.ServiceModel.DomainServices.Client;
    //LoadBehavior参考//
    //指定加载实体时控制标识缓存行为。
    //

    //KeepCurrent
    //缓存的实例未更改,且新读取的实例被丢弃。

    //MergeIntoCurrent
    //新读取实例的值将合并至属性值未修改的缓存实例。更改在该合并中不会丢失。

    //RefreshCurrent
    //将用来自新读取实例的当前值重写缓存实例的所有成员,无论这些值是否已修改。此外,实体的原始状///态还会设置成新读取实例。

  • 相关阅读:
    自旋锁和互斥锁区别
    NFS挂载Android文件系统
    查找文件命令
    make menuconfig出错解决方法
    专访Linux嵌入式开发韦东山操作系统图书作者--转
    Ubuntu进不入系统,一直停留在ubuntu图标画面(转)
    查看驱动打印信息
    aiku给你们最真心地学习建议--转
    SZ,RZ传送文件
    在Android下运行Linux平台编译的程序
  • 原文地址:https://www.cnblogs.com/starlet/p/2399930.html
Copyright © 2011-2022 走看看