2011-05-24 41 views
1

我想構建一個gui面板/嚮導,其中我的應用程序的用戶可以使用強類型對象模型的屬性來構建自定義條件/表達式。 Basically something like this.讓用戶從gui嚮導構建動態表達式

該結構可以嵌套(LHS/RHS可能由其他表達式組成)並且可以使用or /和/ foreach操作數與其他表達式結合使用。

我希望能夠檢查每個子表達式的正確類型和值。 理想情況下,最終查詢應該是linq查詢或表達式樹。

我的目標是讓用戶設計自己的策略或簡單的工作流程。

你會建議什麼類型的處理表達式和創建動態查詢的解決方案?

我在考慮用字符串表示表達式,例如

person.DateOfBirth > 1970 && person.Country != Country.Germany

,然後創建使用連接如通過動態LINQ庫as described here.

產生的擴展.Where子句中參數LINQ查詢是否有可能動態創建高級的表達或存在於這限制解?

您建議了哪些替代解決方案?

回答

2

檢查LINQKit項目特別是PredicateBuilder類。