SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Используя эту команду названия столбцов.
Также примечание, которое /var/lib/mysql-files/orders.csv
будет на сервер , который выполняет MySQL. У пользователя, под которым работает процесс MySQL, должны быть полномочия записать в каталог, выбранный, или команда перестанет работать.
, Если Вы хотите записать вывод в свою локальную машину от удаленного сервера (особенно размещенный или виртуализировать машину, такую как Heroku или Amazon RDS), это решение не подходит.
Я думаю, вы немного усложняете это. Если вы действительно хотите использовать IEnumerable, но исключить System.String, почему бы просто не сделать это прямо в коде?
public static bool IsCollection(object obj) {
return obj is IEnumerable && !(obj is String);
}
Если вы действительно хотите только протестировать:
bool isCollection = obj.GetType().GetInterfaces()
.Any(iface => iface.GetGenericTypeDefinition() == typeof(ICollection<>))
Но, честно говоря, если вы действительно хотите использовать только частную строку
(почему, кстати?), Тогда просто сделай так. Если вы протестируете ICollection <>
, вы будете рассматривать результат запроса LINQ как «не коллекция», например, без уважительной причины.