をクエリするLinq-To-DataSet
には、これが最も強力な方法(効率ではなく、読みやすさと保守性の観点から)を使用できますDataSet
。
続きを読む:型付きデータセットのクエリ。
VSデザイナでTableAdapter
またはを作成するオプションがあります。DataTable
TableAdapter VSを追加すると、それに応じたDataTableも作成されます。DataTableのみを追加する場合は、独自の方法でデータテーブルに入力する必要があります。 ADO.NETTableAdapters
のに似ています。DataAdapter
したがって、という名前のDataSetを作成し、という名前DataSet1
のテーブルを選択するTableAdapterを追加した場合、VisualStudioは名前空間に名前と名前付きtabData
のDataTableを自動的に作成します。tabDataDataTable
TableAdapter
tabDataTableAdapter
DataSet1TableAdapters
したがって、このテーブルを次のように入力できます。
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.Name
LINQ-To-DataSetタイプsafe(は文字列とr.Age
int)を使用できることに注意してください。