2014-06-11 25 views
0

我有一個字段(HTML輸入文本),我的用戶可以在其中輸入他想要的屬性名稱,如:「name」。有了這個值,我需要在我的對象上返回屬性Name的值。 順便說一下,如果用戶輸入Contact.PhoneNumber,我必須實現深度屬性,如User.Contact.PhoneNumber。我可以這樣做嗎?如何僅使用字符串讀取LINQ的屬性?

我正在使用LINQ,所以對象用戶被延遲加載。屬性聯繫人必須尚未加載。

這裏就是我現在想:

ParameterExpression input = Expression.Parameter(typeof(User)); 
var expr = Expression.Property(input, typeof(User).GetProperty("Name")); 
var justatest = Expression.Lambda<Func<User, string>>(expr, input).Compile(); 
+0

什麼是您當前的代碼?你嘗試過什麼嗎? –

+0

Plz添加評論 –

+0

我想要一個ParameterExpression類型,但得到了stucked。我會把這個帖子。 –

回答

1

我想獲得一個屬性的屬性,如User.Contact.PhoneNumber能拿困難。您需要嵌入PropertyExpressions,並且聲明的內容儘可能深。

也許動態LINQ庫會爲你更容易: http://www.nuget.org/packages/System.Linq.Dynamic/

+0

不錯,我會試試!如果有效,請回到這裏接受答案。 –

+0

也許我錯了,但它的動態查詢。我已經有了一個對象。我只需要準備好這個對象的屬性值。任何其他提示? –

相關問題