我有一个项目,我用来了解EF6。我启动了项目并设置了数据库第一个模型。有几个现有的表和视图。结果包括"类"表示表/视图数据库结构。我的最终目标是使用结果填充Excel工作簿表。
我可以访问和排序等等,返回la:
的IList<EventHandler<IEvent>>
数据
DbSet
但是,在获取列数据值时,我感到困惑。例如,如果我在上面using (var db = new TestDbEntities()) {
var list = db.TestTable1s
.OrderBy(m => m.machine.ToUpper())
.ThenBy(m => m.netid.ToUpper())
.ToList<TestTable1>();
var columnNames =
(from t in typeof(TestTable1).GetProperties()
select t.Name)
.ToList<string>();
}
的底部添加一个循环:
using
在&#34;身体&#34;循环 var row = 1;
foreach (var line in list) {
var col = 1;
if (row == 1) {
//
// print table headers
foreach (var item in columnNames) {
cells[row, col++].Value2(item);
}
col = 1;
}
//
// print table "body"
foreach (var item in line) {
cells[row, col++].Value2(item);
}
row++;
}
是类型item
的实例。视觉工作室告诉我TestTable1
不可枚举。
所以我的问题是,如何以类似列表的方式访问类TestTable1
的成员?我应该只访问每个已知成员TestTable1
吗?
答案 0 :(得分:1)
在代码中创建的第一个列表是从db检索的实体的集合。你可以通过它循环来创建ui中的表格结构。
实际上,您可以将此集合绑定到datagridview或datagrid,以表格格式显示数据。您只需要知道如何使用这些控件。
如果表中的列不会经常更改,那么这就是您应采取的方法。