我有一個數據源,如IDataSource : IEnumerable<IDynamicObject>
將LINQ查詢轉換爲字符串,發送到遠程服務器以使用Roslyn解析表達式?
一個實現是查詢純XML數據,另一個是查詢SQL數據庫。
我的數據源沒有對應的類型,只能處理簡單的模式類型。
在某些情況下,這些數據源是在相同的運行時環境中實例化的,而其他的則是通過網絡訪問的。
我是不是能夠查詢我的數據源與LINQ和我打算使用動態對象只能提取和分析是實際查詢的一部分成員值。
在同一個運行時上下文中運行正常,但是當數據源位於遠程服務器上的Web服務後面時,這會失敗,因爲我無法以任何我知道的方式將LINQ與Web服務一起使用。
所以我一直在尋找我的格式化LINQ查詢作爲一個字符串,並將其發送到服務器,然後解析回的表達,並在新的上下文中執行它的方法。解析表達式我能找到的
兩種方法是Dynamic LINQ和FLEE。我只是簡單地看過他們,但他們似乎都沒有能夠將表達式格式化爲字符串以及解析它?
我已閱讀關於Roslyn項目,並正在考慮可能它可以用於這個問題?任何人都知道更多?
我在IQueryable<TData>
神情有些很好,但我已經讀了很多負面的東西吧,也許我應該避免。它也是強類型的,不符合我的需求,因爲我不想在數據服務器上使用任何具體的類型。我也不明白如何通過Web服務使用這種強制類型?我錯過了什麼嗎?
你讀過關於'IQueryable'的消息嗎?你能解釋爲什麼你認爲它很重要,它是強類型的? –
svick
2012-03-10 16:33:42
其主要實施起來很重。我還沒有看過,但我需要通過一個Web服務進行查詢,其中我沒有任何conrete數據類型。那麼我怎麼能在這種情況下使用IQueryable? –
2012-03-10 16:41:44
爲什麼你沒有具體的數據類型?使用Web服務時你當然可以擁有它們。 – svick 2012-03-10 16:50:26