从数据表中获取多列

我想像这样从 DataTable 中获取两列


 //method to get data as DataTable from db

var dtTasks = db.GetTableBySQL($"exec Task @para = {Para}");


 var currentPendingTasks = (from DataRow dr in dtTasks.Rows select dr["TaskId"], dr["Name"]).ToString();

但出于某种原因,在我的第二列中我得到了


当前上下文中不存在名称“dr”


无法为每个 DataRow 选择多列?


慕沐林林
浏览 243回答 2
2回答

红颜莎娜

您可以使用此语法创建匿名集合var currentPendingTasks = (from DataRow dr in dt.Rows                            select new                             {                                 TaskId = dr["TaskId"],                                 Name = dr["Name"]                            });但创建一个新的 DataTable 的方法可能更简单,它只包含原始表中的一些列,如下所示var currentPendingTasks = dt.DefaultView.ToTable(false, "TaskId", "Name");MSDN DataView.ToTable 方法

守着一只汪

你可以达到那个 yins 列表: var data= dtTasks.AsEnumerable().Select(x => new {   TaskId = (int)x["TaskId"],   TaskName= (string)x["Name"] }).ToList();然后 :var TaskId= data[0]. TaskId     
打开App,查看更多内容
随时随地看视频慕课网APP