【发布时间】:2012-12-12 08:45:56
【问题描述】:
我看到了与我的问题非常相似的其他解决方案,但不知何故它对我不起作用。
我有一个对数据库的 linq 查询,它连接到一个非强类型的数据表。 我需要一个强类型的结果来返回一个视图。
我的尝试看起来像这样
var query = (from t in queryAllTasks
join tL in table.AsEnumerable() on t.TaskId equals tL.Field<int>("TaskId")
select new { t.TaskId, Kasten = tL.Field<int>("Box") }).AsEnumerable();
如果感兴趣的话,这里是数据表:
//Create new DataTable.
DataTable table = new DataTable();
//Declare DataColumn and DataRow variables
DataColumn column;
DataRow row;
//Create ne DataColumn
//set DataType
//ColumnName
//add to Datatable
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "TaskId";
table.Columns.Add(column);
//Dritte Spalte
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "Box";
table.Columns.Add(column);
【问题讨论】:
-
你选择的匿名类型是强类型,请问有什么问题?
-
如果没有明显错误,那么问题可能更多出在asp.net问题上,而不是我的c#代码。因为它抱怨不可枚举。
-
为了什么?即使没有多余的
AsEnumerable,您的查询也已经是IEnumerable<of an anonymous type>。也许你需要一些不是匿名类型的东西。 -
是的,这也是一个有趣的方向,我会研究一下。
-
当您说 Strongly Typed 时,您的意思是 Typed DataSet?
标签: c# asp.net linq datatable strong-typing