2011-12-16 13 views
1

ので、同様に、私は、ハッシュテーブルのリストであるデータ構造を持っている:linqクエリをパラメータ化する方法は?

List<Hashtable> lh = new List<Hashtable>(); 

そして、このコンテナのための非常に単純なLINQクエリ:

var query = from h in lh where h["foo"] == "bar" select h; 

をパラメータ化する方法はありますwhere句?ような何か:

var where_clause = where h["foo"] == "bar"; 
var query = from h in lh where_clause select h; 

答えて

6

はあなたが達成しようとしている正確に何に依存しますが、はい、できます:

Func<List<Hashtable>, bool> where_clause = h => h["foo"] == "bar"; 
List<Hashtable> lh = new List<Hashtable>(); 
var query = lh.Where(where_clause); 
+0

かなり滑りやすいです。しかし、h ["foo"] == "bar"自体を文字列としてパラメータ化できますか? –

+0

ダイナミックLINQに関する情報を探します。 ScottGuのブログ記事から始めてください:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx –

関連する問題