2010/06/28(Mon) 19:15:37 編集(投稿者)
2010/06/28(Mon) 19:14:51 編集(投稿者)
<pre><pre>■No51231 (マサヤ さん) に返信
何度もありがとうございます。
以下のように拡張メソッドCreateDataTableを作成して
なんとか読み込ませることができました。
NorthwindDataContext db = new NorthwindDataContext(ConnectionString);
var qer =
from job in context.Job
job.Name == "airForce"
select new
{
job.ID
job.Name
};
DataSet ds = new DataSet("NewDataSet");
ds.tables.Add(qer.CreateDataTable("Jobs"));
----拡張メソッド----------------------------------------
public static DataTable CreateDataTable<T>(
this IEnumerable<T> query,
string tableName)
{
DataTable table = new DataTable(tableName);
var fields = typeof(T).GetProperties();
foreach (var field in fields)
{
DataColumn column = new DataColumn(field.Name);
table.Columns.Add(column);
}
foreach (var row in query)
{
object[] values = new object[fields.Length];
for (int i = 0; i < values.Length; i++)
{
values[i] = fields[i].GetValue(row, null);
}
table.Rows.Add(values);
}
return table;
}
----ここまで----------------------------------------
親切なアドバイスを何度もいただき本当にありがとうございました。
また質問させていただくかと思いますが、またアドバイスいただけたら嬉しいです。
</pre></pre>