是否可能通過Expression類執行a選擇(投影)傳遞數據字段作爲字符串以實現強類型集合?表達式Lambda - 檢索提取
這是因爲我正在與Linq合作,我可以通過抓取wpf網格列名來進行一些改進。
是否存在類似Expression.Lamba.Select(「field1,field2」),它返回一個List ..?
是否可能通過Expression類執行a選擇(投影)傳遞數據字段作爲字符串以實現強類型集合?表達式Lambda - 檢索提取
這是因爲我正在與Linq合作,我可以通過抓取wpf網格列名來進行一些改進。
是否存在類似Expression.Lamba.Select(「field1,field2」),它返回一個List ..?
您可以創建一個方法,該方法可以調用Select()
,其表達式將從實體中的屬性創建Tuple
(或可能是其他內容),並讓EF處理其餘部分。
問題是,你可以用強類型方式處理這種方法的結果的唯一方法是,如果你知道它應該以編譯類型返回的確切類型,這看起來你沒有。
您可以做的最好的辦法是將結果視爲非泛型IEnumerable
或者嘗試使用dynamic
。
我可以創建一些東西像下面這樣:IEnumerable
@bit,你想如何使用它?如果你想指定返回類型和字段,這意味着你知道你想選擇什麼字段,並且不需要字符串參數。或者你想只填寫一些類型的字段? – svick 2011-05-21 10:30:53
好吧,這是我的問題:我必須通過在我的網格中應用一些相關的聲明列來檢索任何實體,所以我不能使用經典的Select lambda。所有我知道的是要以字符串格式(列名)選擇的屬性,因此,調用者將執行如下操作:obj = Retrieve
你應該這樣做,從實體屬性創建列名稱。 – svick 2011-05-20 20:58:01
看看Rob Conery在他的[Massive project]中使用的一些技巧(http://blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massive) – 2011-05-20 21:08:53