2014-11-29 3 views
1

как вопрос говорит, что я пытаюсь заполнить таблицу в представлении из таблицы данных. До сих пор это мой код в контроллере:Таблица заполнения из DataTable в MVC

DataSet dsTemplates = new DataSet(); 

     string qryTemplets = ""; 
     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
     conn.Open(); 
     SqlDataAdapter daTemplate = new SqlDataAdapter(qryTemplets, conn); 
     daTemplate.Fill(dsTemplates, "FileInfo"); 
     DataTable dtTemplates = new DataTable(); 
     dtTemplates = dsTemplates.Tables[0]; 

     List<Models.GameModels.UserList> tables = dtTemplates.Rows.AsEnumerable() 
     .Select(t => new Models.GameModels.UserList 
     { 
      Name = row["Name"], 
      Record = row["Record"] 
     }) 
      .ToList(); 

     conn.Close(); 
     return View(tables); 

Его дает мне следующее исключение:

«System.Data.DataRowCollection» не содержит определение для «AsEnumerable» и лучшее расширение метод перегрузка «System.Data.DataTableExtensions.AsEnumerable (System.Data.DataTable)» имеют некоторые недопустимые аргументы

это лучший способ получить отображение таблицы с несколькими строками? Есть ли способ обхода ошибки? Заранее спасибо. Что еще я могу сделать?

ответ

2

Это правильный способ проецировать строки в ваш UserList объект:

List<UserList> tables = dtTemplates.AsEnumerable() 
    .Select(t => new UserList 
    { 
     Name = t["Name"], 
     Record = t["Record"] 
    }).ToList(); 
+0

Perfect. Спасибо миллион :) –

+0

добро пожаловать;) –

Смежные вопросы