2011-08-08 23 views
0

我有一個Silverlight應用程序,它包含一個窗口,列出多個列中的多個值。第一列包含要從數據庫中檢索的字段,第二列包含表名。從WCF數據服務到Silverlight應用程序的動態查詢數據?

可以從第一列中選​​擇多個字段,並且只能從第二列中選擇一個字段。因此,這個想法是構建一個查詢,可以從多個表中的一箇中選擇多個列(假定每個表的列名相同)。

我的問題是如何將這些值傳遞給WCF數據服務方法,並將無類型數據集返回給調用的Silverlight應用程序?在運行時,我無法知道要讀取的列或要使用的表。這意味着我無法定義一個類用於將數據從WCF數據服務返回給Silverlight。

如何做到這一點任何想法?

謝謝

回答

0

Silverlight沒有數據表或數據集結構。但是,您可以使用嵌套列表來僞造它。這傢伙放在一起silverlight數據表代碼,並且還顯示它如何可以序列化並通過WCF發送: http://blogs.telerik.com/blogs/posts/10-01-22/how_to_serialize_your_datatable_to_silverlight_using_wcf_service.aspx

至於獲取到服務器的查詢,您有幾個選項。您可以動態構建linq表達式樹(與domaindatasource在封面下執行的方式相同),並使用它從客戶端正確查詢。您也可以將您的搜索參數以序列化形式發送到服務器並在那裏構建查詢。同樣,如果你想爲查詢使用LinqToEntities,你需要構建linq表達式樹,或者你可以去舊學校並建立一個SQL查詢。如果你使用SQL,確保你防止SQL注入。

我還可以建議您投票選擇將數據集/數據表添加到silverlight中,這會使您的解決方案更容易開發。您可以爲它投票here

相關問題