2013-09-11 41 views
1

這是我正在尋找的 - 在.NET中的一種方式來傳遞1)一個日常的.NET對象/ POCO 2)基於字符串的查詢運行對所述對象(在不管什麼查詢語言),它返回應用於該對象的查詢結果。如何對對象執行基於字符串的查詢? (像LINQ字符串到對象)

我已經嘗試過,但沒有成功

  • 找到一種方法,序列化字符串轉換成針對對象的LINQ查詢以下。我無法弄清楚這就是爲什麼LinqPad可以做到這一點,但他們使用的代碼並不是免費的。
  • 使用OData的一個圖書館

我有一個很難相信,沒有一個簡單的(尤其是基於的LINQ)的方式通過一個字符串來查詢對象。在JavaScript中,我可以將該對象傳遞給一個eval -ed函數上下文,因此對一個對象執行一個JS字符串。

羅斯林不在場。我需要這個在Mono工作。

想法?

+1

您應該可以使用[*動態LINQ *](http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the- linq-dynamic-query-library.aspx)。 – dasblinkenlight

+1

據我瞭解,LinqPad將代碼編譯成IL,使用CodeDom作爲Roslyn的前身。 – Aron

+0

你看過NHibernate嗎? – Quibblesome

回答

0

動態LINQ聽起來不錯。如果你更喜歡使用JavaScript,你可以使用腳本引擎。請參閱parse and execute JS by C#

+0

動態LINQ將允許我指定一個where子句或一個orderby子句,但不一定是針對一個obj的完整查詢,對吧?我要追蹤整個查詢 – Micah

+0

,並且我寧願避免嵌入js引擎(如果可能的話)。如果它得到,我寧願重寫現有的代碼節點 – Micah