おそらく重複ですが、投稿する前にここでグーグルと検索を試みました。
列を持つ2列のテーブルを想定します
Age (整数) および EmpName (文字列)
データテーブルは、単純な dbTable.AsEnumerable() によって IEnumerable に変換できます。
AsEnumerable が列挙可能な一連のデータ行を返したという事実により、intellisense がそれを取得しないため、Linq を実行するには、列名を知っている必要があります。私は小さな 2 列のテーブルを使用しましたが、多くの列を持つテーブルの場合は面倒です。そのため、ほとんどの場合、次のようなことを試みます
var results = from p in dbTable.AsEnumerable()
select new
{
name = p.Field<string>("name"),
age = p.Field<int>("age")
};
最後に、結果を入力して を押します。(ドット) インテリセンスはドロップダウンに名前と年齢を表示します。質問: リフレクションを使用して列名と列の種類を照会するにはどうすればよいですか?
var results = YourMagicRoutine(dbTable);
//You can use lambda etc instead of method call in above line
結果が IntelliSense になり、正しい列名が表示されるようになりました
ありがとうございました