Как преобразовать запрос Linq в DataTable C#
Когда я пытаюсь преобразовать Linq в таблицу данных, используя приведенный ниже код, я получаю и исключение. Пожалуйста, помогите мне решить эту проблему. Подробности приведены ниже:
Код:
DataTable boundTable = new DataTable(); IEnumerable<DataRow> results1 = (IEnumerable<DataRow>) ( from rowDict in dsEstimatesParam.Tables[strTableName].AsEnumerable() join rowMaster in dsAttributes.Tables[strTableName1].AsEnumerable() on rowDict["ID"] equals rowMaster["ID"] join rowAttDep in dsParam.Tables["Dependencies"].AsEnumerable() on rowMaster["ID"] equals rowAttDep["ID"] where Convert.ToString(rowAttDep["Name"]) == strColumn select rowDict[strColumn] == DBNull.Value ? 0 : Convert.ToDecimal(rowDict[strColumn])); boundTable = results1.CopyToDataTable<DataRow>();
Исключение:
Unable to cast object of type 'WhereSelectEnumerableIterator`2[<>f__AnonymousType5`2[<>f__AnonymousType1`2[System.Data.DataRow,System.Data.DataRow],System.Data.DataRow],System.Decimal]' to type 'System.Collections.Generic.IEnumerable`1[System.Data.DataRow]'
Спасибо и с уважением,
Мати.
Tomas Takac
Вы выбираете десятичную дробь, а не DataRow.