如何使用EF6 / MySQL获取列名

时间:2014-05-27 19:27:06

标签: c# mysql .net entity-framework ado.net

我正在使用EntityFramework v6.1和MySql.Data.Entity.EF6 v 6.8.3.0。

我正试图获得" Headers"或者"列名"表格中的数据。我有一个名为" dbases"我需要从ADO.NET中获取列名,请帮忙!

using (var connection = new hyperion_collectionsmaxEntities())
            {
                var portfolios = connection.portfolios.ToList();
                portfolios.ForEach(o => comboBox1.Items.Add(o.portfolio1));

                var statuses = connection.adminstatus.ToList();
                statuses.ForEach(o => chkLstBoxStatuses.Items.Add(o.statusname));

                //var headers = connection.dbases ?? <~~~
            }

1 个答案:

答案 0 :(得分:1)

获取列名称的一种方法是查询MetaTables:

SELECT COLUMN_NAME, TABLE_NAME 
FROM information_schema.COLUMNS 
WHERE information_schema.COLUMNS.table_schema = 'dbases';

那里有很多有趣的数据。只需获取列名称和(默认)标题,您就可以使用DataTable.Column的属性:

yourTable.Columns[columnIndex].ColumnName 
yourTable.Columns[columnIndex].Caption

如果EF有特殊的方式我不知道它们..但最后imo数据应该进入DataTable ..