如何从 WebMatrix 查询中获取列?
How to get the Columns from a WebMatrix Query?
标题很漂亮self-explanitory,看起来应该是一个简单的任务,但是我尝试了所有方法都没有用:
这是我的代码,工作正常,但 table 是可变的,所以我需要知道它返回的列:
var data = db.Query("SELECT * FROM " + Table);
这是我尝试过的技术列表:
data.GetType().GetProperties().ToList();
// prints 'Int32 Count' and 'System.Object Item [Int32]'
data.GetDynamicMemberNames()
// Error: '...IEnumerable<dynamic> does not have a definition for GetDynamicMemberNames'
// I also tried using System.Linq and System.Dynamic
I could also iterate through a loop, but there's got to be a more elegant way, right?
我想以 List<String>
列名称结束。
List<String> cols = data.First().Columns;
原来 Columns Propery 是 IList<string>
类型。
但是,它是数据结果的单个行的 属性(一行是 DynamicRecord 数据类型),因此不幸的是无法从结果对象访问它(data
在我的例子)。要访问它,您需要获得一行,.First()
似乎是一种非常简单的方法。
这是我的全部代码,以备不时之需:
WebMatrix.Data.Database db = new WebMatrix.Data.Database();
db.Open("ConnectionString");
var data = db.Query("SELECT * FROM " + Table);
List<String> cols = data.First().Columns;
标题很漂亮self-explanitory,看起来应该是一个简单的任务,但是我尝试了所有方法都没有用:
这是我的代码,工作正常,但 table 是可变的,所以我需要知道它返回的列:
var data = db.Query("SELECT * FROM " + Table);
这是我尝试过的技术列表:
data.GetType().GetProperties().ToList();
// prints 'Int32 Count' and 'System.Object Item [Int32]'
data.GetDynamicMemberNames()
// Error: '...IEnumerable<dynamic> does not have a definition for GetDynamicMemberNames'
// I also tried using System.Linq and System.Dynamic
I could also iterate through a loop, but there's got to be a more elegant way, right?
我想以 List<String>
列名称结束。
List<String> cols = data.First().Columns;
原来 Columns Propery 是 IList<string>
类型。
但是,它是数据结果的单个行的 属性(一行是 DynamicRecord 数据类型),因此不幸的是无法从结果对象访问它(data
在我的例子)。要访问它,您需要获得一行,.First()
似乎是一种非常简单的方法。
这是我的全部代码,以备不时之需:
WebMatrix.Data.Database db = new WebMatrix.Data.Database();
db.Open("ConnectionString");
var data = db.Query("SELECT * FROM " + Table);
List<String> cols = data.First().Columns;