我有一個Windows服務通過ADO.NET數據服務公開三個數據源。這些數據源是隻讀的XML文件,加載到XDocument中,然後通過.AsQueryable()公開。源包含帶整數ID的字段,這些字段可以被認爲是數據源之間的「外鍵」。LINQ連接和ADO.NET數據服務
我的客戶端使用此數據服務,並可以使用LINQ單獨查詢三個數據源。有使用數據的數據綁定控件。
在客戶端,我想在這三個數據源之間進行SQL風格的連接。我原本是通過LINQ加入的,但發現ADO.NET Data Services不支持這一點。
我的第二種方法是將數據作爲單獨的表獲取,然後執行連接客戶端 - 儘管這不是最優的。但是,由於LINQ在數據被枚舉時懶惰地提取數據並構造查詢,因此最終會導致與第一種方法相同的問題。
所以,我現在認爲最好的方法是在服務器端加入我所有的數據,並使用一個新的對象提供IQueryable接口。
這真的是最好的方法嗎?看起來...... un。。
除非你對工作感到無聊,否則我會繼續前進。如果不整潔就是你所擔心的,並且不重要,那麼以後再擔心。 – leppie 2009-02-14 19:13:31