Да, вы не правы в корпоративной части вашего вопроса - они приемлемы в корпоративной среде. Проблема обычно заключается в знании разработчиками DataSet и ошибочной идее о том, что вы сможете написать свой собственный, более эффективный механизм. Вот и все, прежде чем вы начнете воссоздавать общие функции, такие как фильтрация коллекций объектов, механизмы единиц работы и т. Д.
Это другой вопрос, чем масштабирование для миллионов пользователей. Вполне вероятно, что вы хотите обрезать любой жир, что требует от вас настройки всей логики данных. Идти POCO, вероятно, не правильное направление. С POCO вы по-прежнему отображаете структуры без поддержки базы данных в базу данных на отдельном уровне, добавляя дополнительную логику, которая при масштабировании до высокого уровня начинает показывать износ вашей производительности.
Вам нужно будет предоставить более конкретный набор вопросов, чтобы получить лучший ответ, но «предприятие» не обязательно равно «миллионам пользователей». POCO, DataSets и т. Д. Обеспечивают быструю разработку (независимо от неподдерживаемого мнения cgreeno), а также удобство обслуживания из-за «упрощения» POCO модели, используемой в приложении, и широкого распространения и понимания DataSet (среди большинства разработчиков). Но чтобы поддержать миллионы пользователей, вы, вероятно, пожертвуете удобством обслуживания для элементов дизайна производительности и масштабируемости. Вам просто нужно принять решение, какие "-способности" являются более важными.
Кстати, типизированные наборы данных - это наборы данных. Сказать, что типизированные наборы данных быстрее, чем нетипизированные, это все равно, что сказать, что я могу работать быстро, но с этим тегом имени я могу работать быстрее. Будьте внимательны при расследовании неподтвержденных утверждений о каком-либо конкретном инструменте и запросите доказательства.