2017-02-05 6 views
1

Я пытаюсь преобразовать запрос в datatable, который будет показан в datagridview, чтобы они могли выбрать соответствующую строку.Ссылка Entity Framework на datatable строку

Я получаю эту ошибку:

Unable to cast object of type '<>f__AnonymousType1`5[System.Int32,System.String,System.String,System.String,System.Int32]' to type 'System.IConvertible'.Couldn't store <{ id_moNumber = 66856, moNumber1 = 81262, moOrder = 27208, moClient = Rawlings, moQty = 26 }> in ID Num Column. Expected type is Int32."}

Мой код выглядит следующим образом:

foreach (var badMO in badMOs) 
{ 
    var possibleFixes = dbReports.MoNumbers 
       .Where(q => (!string.IsNullOrEmpty(badMO.moNumber) && 
          (q.moNumber1 == badMO.moNumber || 
          q.moOrder == badMO.moNumber)) || 
          (!string.IsNullOrEmpty(badMO.moOrder) && 
          (q.moOrder == badMO.moOrder || q.moNumber1 == badMO.moOrder))) 
       .Select(s => new { s.id_moNumber, s.moNumber1, 
            s.moOrder, s.moClient, s.moQty }) 
       .ToList(); 

    foreach (var moFound in possibleFixes) 
    { 
     dtFixes.Rows.Add(possibleFixes.ToArray()); 
    } 

    curJob.Rows.Add(badMOs); 
    MOFixForm fixForm = new MOFixForm(dtFixes, curJob); 
    fixForm.ShowDialog(); 
} 

Я получаю сообщение об ошибке при foreach moFound in possibleFixes.

Глядя на это я очень близко, но я не понимаю, что для преобразования запроса, чтобы сделать его работу с IConvertible

+1

Что такое 'dtFixes'? –

+0

Вам нужно ответить на вопросы, если вы хотите получить помощь. что такое 'dtFixes'? Покажите код для этого. – CodingYoshi

ответ

0

Заменить эту часть ...

dtFixes.Rows.Add(possibleFixes.ToArray()); 

... этим ...

dtFixes.Rows.Add(moFound); 

Вы добавляете весь список для каждой строки в сетке вместо своего текущего элемента.

То же самое относится и к:

curJob.Rows.Add(badMOs); 

Оно должно быть:

curJob.Rows.Add(badMO);