私はC#とLinq-to-Sqlの新機能です。linq-to-sqlクエリ結果の結果を反復処理して結果を追加する方法はありますか?
私はテーブルをした「InstrumentTypes」は、このフォームの:
typeId(int) | type(varchar) | subttype(varchar)
101 Keys keyboard
102 Keys accessories
103 Guitar acoustic
104 Guitar electric
私が入力としてタイプ 『「による検索に基づいてテーブルからTYPEIDのの』すべてを取得する必要があり、すべてのtypeidのに必要なASPリピータにバインドされます。
これまでのところ、私は次のコードを書いている:私は、クエリからの結果を反復処理するデータ構造に保存し、リピータにバインドする方法を見つけ出すことができないんだ
// requestType contains the type from the search
var type = (from m in database.InstrumentTypes
where m.type == requestType
select m);
foreach(var typeId in type)
{
//code
}
を。
次のコードでは、リピータにバインド:
Repeater1.DataSource= //name of data structure used to store the types goes here
Repeater1.DataBind();
誰も私を助けてくださいもらえますか?
EDIT: 取得した各typeIDについて、別のテーブル「Instruments」にアクセスし、そのタイプIDに属するすべてのInstrumentsを取得したいとします。 テーブル「楽器」は、このようなものです:
instrumentId typeID name description
1000 101 yamaha xyz
アリアルドの回答に基づいて、私はこれをやっている:
var type = (from m in database.InstrumentTypes
where m.type == requestType
select m);
var instruments = new List<Instrument>();
foreach (var i in type)
{
instruments.Add(from x in database.Instruments
where x.typeId == i.typeId
select x);
}
Repeater1.DataSource = instruments;
Repeater1.DataBind();
をしかし、私は「の最良のオーバーロードされたメソッドの試合を言ってコンパイル・エラーが発生しますリストに無効な引数がいくつかあります。どこが間違っていますか?あなたは
var type = (from m in database.InstrumentTypes
where m.type == requestType
select m);
から何を得る
"結果を繰り返して検索する" - なぜ結果をループしたいのですか?どのような種類のデータ構造ですか? – SkonJeet
@SkonJeet:私は上記の質問を更新しました。 – codewarrior