2011-09-15 40 views
0

我是一個新的linq技術,我想知道它是否可以解決我的問題。建立動態Linq查詢從字符串

我需要構建一個應用程序,用戶可以在其中編寫像句子或語句(如table.field.field.aggregation)的高級sql,然後需要解釋然後執行。我在網上完成了搜索,發現了許多Linq技術選項,但是我沒有看到任何有類似問題的人,或者我不明白正確使用不同的Linq技術。我的方法可能不正確,我需要重新考慮我的設計。我希望我提供了足夠的信息。

回答

2

請問Dynamic LINQ做你所需要的?

如果不是,您是否考慮過使用該代碼段並僅使用CSharpCodeProvider將其編譯爲C#?

+1

下次我會快11秒! –

+0

感謝Jon的反饋。然而,我認爲它會基於我已經看到和測試過的例子在實現它的過程中掙扎。我想要的是採用符合我上面所說的用戶的輸入並將其翻譯爲:例如,var query = from db.Table.Where(「Field1 = ??和Field2 = ??)。 Select()。我希望這能給你更多的信息,我希望能達到的效果。 –

0

我認爲應用程序已經建立:LinqPAD由約瑟夫阿爾巴哈利(C#MVP)

+0

感謝Jeremy的反饋。LinqPAD對開發者或經驗BA來說是一個很好的選擇,但對於最終的結果並不理想我已經下載了一個源代碼「修改與重寫規則的LINQ表達式」,我將發佈一條消息 –

0

SQL是建立這種情況下,但我想你想你自己的。如果其他答案不夠好,那麼這將在您自己的語言解釋器中結束,並且很難用幾句話來解釋。嘗試搜索Domain-Specific-Languages

+0

感謝您的反饋Carsten。是的,您是正確的,它可以在sql中完成,因爲我已經我會解釋這個字符串,然後執行sql,我只是想探索一個替代sql的方法,這樣我就可以控制我創建的對象,這也使得它更易於調試。 –