我使用System.Linq.Dynamic
庫來生成動態,其中條件爲IQueryable
集合。任何人都可以列出該庫支持的操作列表嗎?我只知道=和Contains。我可以使用「IN
,Like
,Not Like
等......」嗎?有多少運營商在system.linq.dynamic庫中支持動態linq
1
A
回答
1
該庫用於創建動態linq,所以我不希望它支持你提到的sql-operators。看看代碼,它似乎支持System.Linq.Enumerable中的一部分方法。
var code = File.ReadAllText("dynamic.cs");
var strings = Regex.Matches(code, "\"(\\w*)\"").Cast<Match>()
.Select(m => m.Groups[1].Value);
var methods = typeof(System.Linq.Enumerable).GetMethods(BindingFlags.Public
| BindingFlags.Static).Select(mi => mi.Name);
string.Join(", ", strings.Intersect(methods)).Dump();
給出:其中,選擇,排序依據,OrderByDescending,ThenBy,ThenByDescending,拿,跳過的GroupBy,任何,計數,最小值,最大值,Concat的
更新:我現在發現文檔,LinqSamples \ DynamicQuery \ Dynamic expression.html,在下載中。我想你會在操作員部分找到你要找的東西。 (以上可以在IQueryable擴展方法部分中確認)。
0
System.Linq.Dynamic庫查看像==> <> =等運算符。它也可以執行給定屬性具有的任何函數進入。
這裏的System.Linq.Dynamic例如,對於「喜歡」
myQueryable.Where(
"customer.name.StartsWith(@0) AND customer.lastName.EndsWith(@1)","B","E");
這相當於:
"select .... from .... WHERE customer.name LIKE 'B%' AND customer.name LIKE '%E'"
庫可以調用System.String在這個例子中具有訪問權限的任何功能。在一個側面節點上,它已經使用關鍵字「IN」,如果你想說「不喜歡」,只是說「!customer.name.StartsWith(...)」
相關問題
- 1. 動態庫(System.Linq.Dynamic)如何支持LIKE運算符?
- 2. 什麼運營商應該有LINQ查詢表達式支持?
- 3. LINQ的「序列運營商不支持的類型」異常
- 4. dotliquid支持'不'作爲運營商嗎?
- 5. LINQ運營商如中
- 6. IQueryable的Linq到與多個運營商
- 7. 有多少個數據庫可以支持電子商務?
- 8. System.Linq.Dynamic不支持OrderByDescending(「someColumn」)?
- 9. 奇怪的行爲:SQL和運營商,在多個運營商
- 10. 像運營商在LINQ到對象
- 11. MongoDB的動態像運營商
- 12. 有位運營商
- 13. 在支持Java平等運營商的使用
- 14. 支持中的std :: ostream的運營商<<
- 15. 靜態隱運營商
- 16. python運營商,沒有運營商的「不在」
- 17. 有沒有一種方法,使支持可選的鏈接運營商在WebStorm
- 18. 空 - 結合運營商和運營商&&
- 19. 或運營商與三元運營商
- 20. 比較運營商(飛船運營商)如何在三元運營商處理
- 21. 如何標記在構建時對LINQ到實體的任何不支持的LINQ運營商
- 22. 比較運營商directory_entry缺少
- 23. OpenMP的減少與重載運營商
- 24. SQLite少於運營商問題
- 25. 「缺少運營商批量for語句
- 26. 獅身人面像運營商「少」
- 27. Maven的Java編譯錯誤的鑽石運營商不支持
- 28. LINQtoSQL錯誤:比較運營商不支持
- 29. 升壓shared_ptr的似乎不支持運營商==
- 30. VS代碼運營商單色燈似乎不支持連字
但我可以使用=,!=等運營商。那麼,我怎麼知道有多少這樣的運營商? – ArpanDesai 2011-03-08 12:24:12
@ArpanDesai,我更新了答案。 – Grastveit 2011-03-09 11:54:08