Silverlight异步列绑定

时间:2010-08-11 14:29:58

标签: database silverlight wcf-ria-services

我有两个不同的数据库作为Silverlight RIA应用程序的源。它们通过单独的RIA服务公开。

数据库之间存在一种关系,这意味着我在数据库之间有一个外键(没有约束)。我的实体目前将其加载为Int32。我如何将其映射到另一个数据库的实际最终用户显示值?

似乎值转换器需要同步操作。此外,DomainDataSource.LoadedData中的任何异步调用都将导致数据源无限期地保持忙碌状态。

2 个答案:

答案 0 :(得分:1)

您还可以考虑使用ExternalReference属性。

例如,

public partial class SalesOrderHeader
{
   [ExternalReference]
   [Association("My_Custom_FK", "CustomerID", "CustomerID")]
   public Customer Customer { get; set; }
}

通过这种方式,您可以在RIA域上下文之间建立连接。有助于实现这项工作的一个例子是Nikhil的BookClub解决方案,他将域实体类型投射到他返回到视图模型的对象中。

你可以做同样的事情,除非你要缩小域上下文之间的差距。

答案 1 :(得分:0)

根据您的方案的详细信息,您可以在一个数据库中创建视图或存储过程,该数据库将跨两个数据库运行查询并返回单个结果集。

然后,您可以让RIA服务返回视图/存储过程的结果......

这样你只能从Silverlight拨打一个电话......