C#.Net Entity Framework 6将DbSet <model class =“”>更改为List <list <object>&gt;

时间:2017-01-17 17:36:44

标签: c# entity-framework

我有一个项目,我用来了解EF6。我启动了项目并设置了数据库第一个模型。有几个现有的表和视图。结果包括&#34;类&#34;表示表/视图数据库结构。我的最终目标是使用结果填充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吗?

1 个答案:

答案 0 :(得分:1)

在代码中创建的第一个列表是从db检索的实体的集合。你可以通过它循环来创建ui中的表格结构。

实际上,您可以将此集合绑定到datagridview或datagrid,以表格格式显示数据。您只需要知道如何使用这些控件。

如果表中的列不会经常更改,那么这就是您应采取的方法。