2011-02-08 8 views
0

ダイナミックLINQライブラリのコードサンプルを使用して、一部のデータを動的に返します。返す列の数は、ユーザーの入力に応じて可変です。 IQueryableをIListに列挙しています。どのようにIListを一度に1つのフィールドでステップ実行しますか?

私がする必要があるのは、一度に1つのフィールドだけを実行することです。 IListの行を繰り返して、一度に1行を取得することはできますが、私の人生にとってコレクションから1つのフィールドを引き出すことはできません。

は例えば、ここで私は2つの列を返すよ(ハードテストのためにコード化されたが、PRODには、ユーザが選択したフィールド何に依存して変動するであろう):

Dim Dynq = dc.dt _ 
        .Where("RUN_ID = """ & runNumber & """ and Upper_Pressure > 95") _ 
        .OrderBy("Upper_Pressure") _ 
        .Select(" new (Run_ID,Process)") 

     Dim something = DirectCast(Activator.CreateInstance(GetType(List(Of)).MakeGenericType(Dynq.ElementType), Dynq), IList) 

は今、私は外のフィールドを引くことができますIListのは、私のようなものでカラム名を知っている場合:

something.Run_ID.ToString 

が、私は実行時まで使用していた列を知って文句を言わないし、動的に動作しない、実行時に設定されています変数に挿入します。

だから、概要に、私はこの

1 | Auto 
2 | Auto 
3 | Manual 
4 | Manual 

のようなものを見て、私はを返す方法が好きで、その後 自動 、その後などを返したいのIListを持っています...

私はこれ以上私が学んだ人の助けに感謝します。

答えて

0

あなたの質問は少し混乱して、私はあなたがあなたのリターンが行、列順に要素として特定の列を返すように設定平らにしたいと思います...

一つの方法は、使用できSelectManyオペレータであります。例えば

(私の脳は、1-追跡を回っているように、C#で申し訳ありません!):それは何をお使いの後だが、それは正しい方向へのステップとなることができれば

// Find flattened list of some explicitly specified property values... 
var flattened = something.SelectMany(e => new [] { e.Run_ID.ToString(), e.Process.ToString() }); 

わかりません。

関連する問題