Linqクエリから指定されたフィールドのみを持ついくつかのDataRowsを選択し、これらのDataRowsを使用してDataTableにデータを入力しようとしています。問題は、これらのDataRowsを新しいDataTableに追加すると、IDフィールドとNameフィールドの両方にそれぞれ入力されると予想されることです。ただし、DataTableのIDフィールドには、ID値とName値の両方が含まれています。誰かが私が間違っていることを指摘できますか?
コードは次のとおりです。
var query2 = from s in Tables[Table_Sec].AsEnumerable()
where query.Contains(s["sectype"])
select new { id = s["id"], name = s["name"] }; // I only want these fields
DataTable dt = new DataTable(); // Create my new dataTable
dt.Columns.Add("id", typeof(string));
dt.Columns.Add("name", typeof(string));
foreach(var row in query2)
{
dt.Rows.Add(row); // ID field contains both ID and Name strings. Name field contains nothing
}