Custom LINQ Provider
- オレオレ LINQ Provider を実装している
- IQueryable
とか IOrderedQueryable ,IQueryProvider を実装すれば良い - が,これがかなり大変.結局 ExpressionTree になった 何か(型T)への問合せの評価器を作る(全部作らなくて良い)わけで,うーむ
- 今回やりたいのは,外部APIへリクエストする条件を組み立てて,それをHTTPリクエストする.返ってきた結果をほげほげする,という感じで,データに対する評価は直接やらずに,条件だけまとめて外に投げたい
- ので,そんなに難しくないと思っていたが,参考になる実装や解説記事が少なくて苦労している
- 最初は以下のようなMSDNの記事(またはブログ)を参考に,実装を行ってきた.が,なかなか難しい
- 実際にクエリを組み立てて,REST APIへリクエストする点で LINQ to Twitter と類似するので,これも参考にしている
- ただ,書かないといけない(準備しないといけないクラス)が多すぎて,うーむということで,ライブラリに手を出し始めている
- MSDNの記事
- IQueryable
, IOrderedQueryable , IQueryProvider を直接実装せずに,わりと簡単にしてくれるライブラリもいくつかある - re-linq
- http://relinq.codeplex.com/
- codeplex にホストされていたが,7月ごろから独自のSVNリポジトリに移動されて,Nuget にも反映されていない
- とにかくドキュメントがない.参考になるブログは以下(このブログでも,問題点はドキュメントがないことだ,と書いてある).このブログで書かれているサンプルコードを真似してみたが,たしかに簡単に,とりあえずSelectするコードは書けた
- LinqExtender
- 最終コミットが2年前と,ちょっと古い
- http://mehfuzh.github.io/LinqExtender/
- https://github.com/mehfuzh/LinqExtender
- IQToolkit
- あとで見てみる.しかし2,3年前のものだ
- http://iqtoolkit.codeplex.com/
- re-linq
- その他