Конвертировать IEnumerable<dynamic> в строку []
У меня есть код ниже, в основном возвращает один столбец строковых значений из БД, используя MassiveORM.
Метод Query() возвращает IEnumerable. Я пытаюсь выяснить, как привести или преобразовать это в простой строковый массив.
Используя ниже, я получаю
Невозможно привести объект типа "System.Object[]" к типу "System.String[]
Спасибо
var response = new MakesResponse();
var tbl = new DynamicModel("SONICAPI");
string sql = "EXEC pGetMakes";
var result = tbl.Query(sql);
return new MakesResponse()
{
makes = (string[])result.ToArray(),
ExecutionTime = sw.ElapsedMilliseconds,
Result = "200",
ResultText = "OK",
Source = "DB"
};
1 ответ
Вы можете разыграть перечисляемые предметы. Это будет работать только если они действительно string
:
makes = result.Cast<string>().ToArray()
Остальное можно позвонить ToString
, если есть хорошая реализация этого:
makes = result.Select(o => o.ToString()).ToArray()