Конвертировать 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()
Другие вопросы по тегам