Как я могу избежать использования магических строк в запросе LINQ для данных datatable?linq как проблема с номером столбца с именами столбцов
Это работает:
public IEnumerable getDisplayNames() { IEnumerable nameQry = from row in displayTable.AsEnumerable() select row.Field("display"); return nameQry; }
но это терпит неудачу с «Указанного бросок не действует.»:
public IEnumerable getDisplayNames() { string disp = myDictionary["D"]; IEnumerable nameQry = from row in displayTable.AsEnumerable() select row.Field(disp); return nameQry; }
Я предпочитаю использовать локальную строку (или прямую ссылку прочь MyDictionary) вместо жесткого кодирования строк. Поэтому я хочу использовать строку disp вместо фразы «display» в моем запросе.