可能是一个重复,但我在发布之前尝试使用谷歌搜索和搜索。
假设一个包含列的 2 列表
年龄(int)和 EmpName(字符串)
可以通过简单的 dbTable.AsEnumerable() 将数据表转换为 IEnumerable
现在要执行任何 Linq,您必须知道列名,因为 Intellisense 不会拾取它,因为 AsEnumerable 已返回一堆您可以枚举的数据行。我使用了一个小的 2 col 表,但对于有很多列的表来说,这很痛苦。所以大多数时候我们会尝试类似的东西
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
结果现在应该智能感知并显示正确的列名
谢谢你