【问题标题】:Geting data from RIA services in viewmodel of silverlight在 silverlight 的视图模型中从 RIA 服务获取数据
【发布时间】:2011-12-03 08:22:56
【问题描述】:

我正在创建 silverlight 应用程序并实现 MVVM 模式。在我的视图模型中,我想从 RIA 服务域类中获取数据。通过以下代码

LoadOperation<DimensionDTO> loadOp = this.parametersDomainContext.Load(this.parametersDomainContext.GetDimensionDTOQuery());
List<DimensionDTO>  Dimensions = LoadOperation.Entities as List<DimensionDTO> ;

虽然 RIA 服务正在返回数据,但在第二行调试器中显示实体计数 = 0

据我所知,这是因为异步调用 RIA 服务。在从 ria 服务返回数据之前执行第二行。我怎样才能使这两行同步。我的意思是加载操作完成后应该执行第二行。

【问题讨论】:

    标签: silverlight ria


    【解决方案1】:

    在你的视图模型中

    [Query]
    public IQueryable<DimensionDTO> GetDimensionDTOs()
    {
      return this.ObjectContext.DimensionDTOs;
    }
    

    在您的 Silverlight 代码中

    DomainService1 DS = new DomainService1();
    LoadOperation<DimensionDTO> loadOp  = DS.Load(DS.GetDimensionDTOsQuery());
    loadOp.Entities ; // for Assign to IEnumerable<DimensionDTO>
    

        loadOp.Completed += new EventHandler((s,e)=>{
          for(DimensionDTO item in loadOp.Entities )
          {
            // add entity to your list for  List<DimensionDTO>
          }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多