2010-08-11 49 views
0

我有兩個不同的數據庫作爲Silverlight RIA應用程序的源。它們通過單獨的RIA服務暴露出來。Silverlight異步列綁定

數據庫之間有一種關係,這意味着我在數據庫之間有一個外鍵(無約束)。我的實體當前將其作爲Int32加載。我將如何將其映射到來自其他數據庫的實際最終用戶顯示值?

看來值轉換器需要同步操作。而且,DomainDataSource.LoadedData中的任何異步調用都將導致數據源無限期地保持忙碌狀態。

回答

1

你也可以考慮使用ExternalReference屬性。

例如,

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

通過這種方式,你可以建立自己的RIA域上下文之間的連接。 Nikhil的BookClub解決方案可以幫助實現這項工作,他將域實體類型投影到對象中,並返回到其視圖模型。

您可以做同樣的事情,除非您將橋接域環境之間的差距。

+0

正是我在找的東西!謝謝回覆。 – jhappoldt 2010-08-13 14:50:50

0

根據場景的細節,您可以在一個數據庫中創建視圖或存儲過程,以便在兩個數據庫上運行查詢並返回單個結果集。

那麼你可以得到RIA服務返回視圖/存儲過程的結果......

這樣,你只能做Silverlight的一個電話...