silverlight视图模型中从RIA服务获取数据

发布于 2024-12-19 08:26:05 字数 451 浏览 3 评论 0原文

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

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

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

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

i am creating silverlight application and implementing MVVM pattern. in my view model i want to get data from RIA service domain class. through following code

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

though RIA service is returning data but in second line debugger shows entity count = 0

according to me this is because of asynchronous calling of RIA service. before return of data from ria service second line is executed. how can i make these two line synchronous. i mean second line should be executed when load operation is finished.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淑女气质 2024-12-26 08:26:05

视图模型中

[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>
      }
    });

in your View Model

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

in your Silverlight Code

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

or

    loadOp.Completed += new EventHandler((s,e)=>{
      for(DimensionDTO item in loadOp.Entities )
      {
        // add entity to your list for  List<DimensionDTO>
      }
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文