をクエリするLinq-To-DataSetには、これが最も強力な方法(効率ではなく、読みやすさと保守性の観点から)を使用できますDataSet。
続きを読む:型付きデータセットのクエリ。
VSデザイナでTableAdapterまたはを作成するオプションがあります。DataTableTableAdapter VSを追加すると、それに応じたDataTableも作成されます。DataTableのみを追加する場合は、独自の方法でデータテーブルに入力する必要があります。 ADO.NETTableAdaptersのに似ています。DataAdapter
したがって、という名前のDataSetを作成し、という名前DataSet1のテーブルを選択するTableAdapterを追加した場合、VisualStudioは名前空間に名前と名前付きtabDataのDataTableを自動的に作成します。tabDataDataTableTableAdaptertabDataTableAdapterDataSet1TableAdapters
したがって、このテーブルを次のように入力できます。
var dataSet = new DataSet1();
var da = new DataSet1TableAdapters.tabDataTableAdapter();
da.Fill(dataSet.tabData);
テーブルに列がNameありAge、名前が始まり"Jon"、年齢が30を超えるすべての行を検索するとすると、LINQを使用できますWhere。
var jons = dataSet.tabData
.Where(r => r.Name.StartsWith("Jon") && r.Age > 30);
foreach (DataSet1.tabDataRow row in jons)
{
Console.WriteLine("{0} is {1} years old", row.Name, row.Age);
}
r.NameLINQ-To-DataSetタイプsafe(は文字列とr.Ageint)を使用できることに注意してください。