Я пытаюсь преобразовать этот DataTable. Выберите запрос Linq. Цель состоит в том, чтобы получить значения из столбца lookupValueFieldLing Query on DataTable с одним динамическим Where where
private object[] GetValueFromLookup(MultipleKeyConditionBuilder filter, string lookupValueField, DataTable datatableLookup)
{
object[] result;
DataRow[] rows = datatableLookup.Select(filter.Condition);
result = new object[rows.Count()];
for (int i = 0; i < rows.Count(); i++)
{
result[i] = rows[0][lookupValueField];
}
return result;
}
Это запрос Linq я написал до сих пор. Условие уже определено в фильтре. фильтр содержит следующий тип значения «Project_id = 10». Как я могу использовать этот фильтр в разделе where. в настоящее время он дает ошибку. «Не может неявно преобразовать строку в BOOL»
private object[] GetValueFromLookup(MultipleKeyConditionBuilder filter, string lookupValueField, DataTable datatableLookup)
{
object[] result;
EnumerableRowCollection<DataRow> rows;
//DataRow[] rows;
rows = from myRow in datatableLookup.AsEnumerable()
where filter.Condition
select myRow ;
result = new object[rows.Count()];
for (int i = 0; i < rows.Count(); i++)
{
result[i] = rows; // should give only lookupcolumn
//result[i] = rows[0][lookupValueField];
}
return result;
}
, наконец, я хочу, чтобы получить результат в массиве строк, а не в EnumerableRowCollection. Я хочу получить результат, как и в вышеприведенном массиве. Любая помощь будет полезна
Этот вопрос был задан ранее, см [Как использовать переменную строку в LINQ, где положение] (Http: //stackoverflow.com/questions/31342172/how-to-use-a-string-variable-in-the-linq-where-clause). Вы не можете использовать строку в предложении LINQ where. – sly
Спасибо за помощь –